Learn Git and GitHub without any code!
Using the Hello World guide, you’ll start a branch, write comments, and open a pull request.
Read the guide
Permalink
Cannot retrieve contributors at this time
Find file
Copy path
Udacity-DLND/Project 4 - Generate Faces/dlnd_face_generation.html
Find file
Copy path
Fetching contributors…
| <!DOCTYPE html> | |
| <html> | |
| <head><meta charset="utf-8" /> | |
| <title>dlnd_face_generation</title> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> | |
| <style type="text/css"> | |
| /*! | |
| * | |
| * Twitter Bootstrap | |
| * | |
| */ | |
| /*! | |
| * Bootstrap v3.3.7 (http://getbootstrap.com) | |
| * Copyright 2011-2016 Twitter, Inc. | |
| * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) | |
| */ | |
| /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ | |
| html { | |
| font-family: sans-serif; | |
| -ms-text-size-adjust: 100%; | |
| -webkit-text-size-adjust: 100%; | |
| } | |
| body { | |
| margin: 0; | |
| } | |
| article, | |
| aside, | |
| details, | |
| figcaption, | |
| figure, | |
| footer, | |
| header, | |
| hgroup, | |
| main, | |
| menu, | |
| nav, | |
| section, | |
| summary { | |
| display: block; | |
| } | |
| audio, | |
| canvas, | |
| progress, | |
| video { | |
| display: inline-block; | |
| vertical-align: baseline; | |
| } | |
| audio:not([controls]) { | |
| display: none; | |
| height: 0; | |
| } | |
| [hidden], | |
| template { | |
| display: none; | |
| } | |
| a { | |
| background-color: transparent; | |
| } | |
| a:active, | |
| a:hover { | |
| outline: 0; | |
| } | |
| abbr[title] { | |
| border-bottom: 1px dotted; | |
| } | |
| b, | |
| strong { | |
| font-weight: bold; | |
| } | |
| dfn { | |
| font-style: italic; | |
| } | |
| h1 { | |
| font-size: 2em; | |
| margin: 0.67em 0; | |
| } | |
| mark { | |
| background: #ff0; | |
| color: #000; | |
| } | |
| small { | |
| font-size: 80%; | |
| } | |
| sub, | |
| sup { | |
| font-size: 75%; | |
| line-height: 0; | |
| position: relative; | |
| vertical-align: baseline; | |
| } | |
| sup { | |
| top: -0.5em; | |
| } | |
| sub { | |
| bottom: -0.25em; | |
| } | |
| img { | |
| border: 0; | |
| } | |
| svg:not(:root) { | |
| overflow: hidden; | |
| } | |
| figure { | |
| margin: 1em 40px; | |
| } | |
| hr { | |
| box-sizing: content-box; | |
| height: 0; | |
| } | |
| pre { | |
| overflow: auto; | |
| } | |
| code, | |
| kbd, | |
| pre, | |
| samp { | |
| font-family: monospace, monospace; | |
| font-size: 1em; | |
| } | |
| button, | |
| input, | |
| optgroup, | |
| select, | |
| textarea { | |
| color: inherit; | |
| font: inherit; | |
| margin: 0; | |
| } | |
| button { | |
| overflow: visible; | |
| } | |
| button, | |
| select { | |
| text-transform: none; | |
| } | |
| button, | |
| html input[type="button"], | |
| input[type="reset"], | |
| input[type="submit"] { | |
| -webkit-appearance: button; | |
| cursor: pointer; | |
| } | |
| button[disabled], | |
| html input[disabled] { | |
| cursor: default; | |
| } | |
| button::-moz-focus-inner, | |
| input::-moz-focus-inner { | |
| border: 0; | |
| padding: 0; | |
| } | |
| input { | |
| line-height: normal; | |
| } | |
| input[type="checkbox"], | |
| input[type="radio"] { | |
| box-sizing: border-box; | |
| padding: 0; | |
| } | |
| input[type="number"]::-webkit-inner-spin-button, | |
| input[type="number"]::-webkit-outer-spin-button { | |
| height: auto; | |
| } | |
| input[type="search"] { | |
| -webkit-appearance: textfield; | |
| box-sizing: content-box; | |
| } | |
| input[type="search"]::-webkit-search-cancel-button, | |
| input[type="search"]::-webkit-search-decoration { | |
| -webkit-appearance: none; | |
| } | |
| fieldset { | |
| border: 1px solid #c0c0c0; | |
| margin: 0 2px; | |
| padding: 0.35em 0.625em 0.75em; | |
| } | |
| legend { | |
| border: 0; | |
| padding: 0; | |
| } | |
| textarea { | |
| overflow: auto; | |
| } | |
| optgroup { | |
| font-weight: bold; | |
| } | |
| table { | |
| border-collapse: collapse; | |
| border-spacing: 0; | |
| } | |
| td, | |
| th { | |
| padding: 0; | |
| } | |
| /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ | |
| @media print { | |
| *, | |
| *:before, | |
| *:after { | |
| background: transparent !important; | |
| box-shadow: none !important; | |
| text-shadow: none !important; | |
| } | |
| a, | |
| a:visited { | |
| text-decoration: underline; | |
| } | |
| a[href]:after { | |
| content: " (" attr(href) ")"; | |
| } | |
| abbr[title]:after { | |
| content: " (" attr(title) ")"; | |
| } | |
| a[href^="#"]:after, | |
| a[href^="javascript:"]:after { | |
| content: ""; | |
| } | |
| pre, | |
| blockquote { | |
| border: 1px solid #999; | |
| page-break-inside: avoid; | |
| } | |
| thead { | |
| display: table-header-group; | |
| } | |
| tr, | |
| img { | |
| page-break-inside: avoid; | |
| } | |
| img { | |
| max-width: 100% !important; | |
| } | |
| p, | |
| h2, | |
| h3 { | |
| orphans: 3; | |
| widows: 3; | |
| } | |
| h2, | |
| h3 { | |
| page-break-after: avoid; | |
| } | |
| .navbar { | |
| display: none; | |
| } | |
| .btn > .caret, | |
| .dropup > .btn > .caret { | |
| border-top-color: #000 !important; | |
| } | |
| .label { | |
| border: 1px solid #000; | |
| } | |
| .table { | |
| border-collapse: collapse !important; | |
| } | |
| .table td, | |
| .table th { | |
| background-color: #fff !important; | |
| } | |
| .table-bordered th, | |
| .table-bordered td { | |
| border: 1px solid #ddd !important; | |
| } | |
| } | |
| @font-face { | |
| font-family: 'Glyphicons Halflings'; | |
| src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot'); | |
| src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); | |
| } | |
| .glyphicon { | |
| position: relative; | |
| top: 1px; | |
| display: inline-block; | |
| font-family: 'Glyphicons Halflings'; | |
| font-style: normal; | |
| font-weight: normal; | |
| line-height: 1; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| .glyphicon-asterisk:before { | |
| content: "\002a"; | |
| } | |
| .glyphicon-plus:before { | |
| content: "\002b"; | |
| } | |
| .glyphicon-euro:before, | |
| .glyphicon-eur:before { | |
| content: "\20ac"; | |
| } | |
| .glyphicon-minus:before { | |
| content: "\2212"; | |
| } | |
| .glyphicon-cloud:before { | |
| content: "\2601"; | |
| } | |
| .glyphicon-envelope:before { | |
| content: "\2709"; | |
| } | |
| .glyphicon-pencil:before { | |
| content: "\270f"; | |
| } | |
| .glyphicon-glass:before { | |
| content: "\e001"; | |
| } | |
| .glyphicon-music:before { | |
| content: "\e002"; | |
| } | |
| .glyphicon-search:before { | |
| content: "\e003"; | |
| } | |
| .glyphicon-heart:before { | |
| content: "\e005"; | |
| } | |
| .glyphicon-star:before { | |
| content: "\e006"; | |
| } | |
| .glyphicon-star-empty:before { | |
| content: "\e007"; | |
| } | |
| .glyphicon-user:before { | |
| content: "\e008"; | |
| } | |
| .glyphicon-film:before { | |
| content: "\e009"; | |
| } | |
| .glyphicon-th-large:before { | |
| content: "\e010"; | |
| } | |
| .glyphicon-th:before { | |
| content: "\e011"; | |
| } | |
| .glyphicon-th-list:before { | |
| content: "\e012"; | |
| } | |
| .glyphicon-ok:before { | |
| content: "\e013"; | |
| } | |
| .glyphicon-remove:before { | |
| content: "\e014"; | |
| } | |
| .glyphicon-zoom-in:before { | |
| content: "\e015"; | |
| } | |
| .glyphicon-zoom-out:before { | |
| content: "\e016"; | |
| } | |
| .glyphicon-off:before { | |
| content: "\e017"; | |
| } | |
| .glyphicon-signal:before { | |
| content: "\e018"; | |
| } | |
| .glyphicon-cog:before { | |
| content: "\e019"; | |
| } | |
| .glyphicon-trash:before { | |
| content: "\e020"; | |
| } | |
| .glyphicon-home:before { | |
| content: "\e021"; | |
| } | |
| .glyphicon-file:before { | |
| content: "\e022"; | |
| } | |
| .glyphicon-time:before { | |
| content: "\e023"; | |
| } | |
| .glyphicon-road:before { | |
| content: "\e024"; | |
| } | |
| .glyphicon-download-alt:before { | |
| content: "\e025"; | |
| } | |
| .glyphicon-download:before { | |
| content: "\e026"; | |
| } | |
| .glyphicon-upload:before { | |
| content: "\e027"; | |
| } | |
| .glyphicon-inbox:before { | |
| content: "\e028"; | |
| } | |
| .glyphicon-play-circle:before { | |
| content: "\e029"; | |
| } | |
| .glyphicon-repeat:before { | |
| content: "\e030"; | |
| } | |
| .glyphicon-refresh:before { | |
| content: "\e031"; | |
| } | |
| .glyphicon-list-alt:before { | |
| content: "\e032"; | |
| } | |
| .glyphicon-lock:before { | |
| content: "\e033"; | |
| } | |
| .glyphicon-flag:before { | |
| content: "\e034"; | |
| } | |
| .glyphicon-headphones:before { | |
| content: "\e035"; | |
| } | |
| .glyphicon-volume-off:before { | |
| content: "\e036"; | |
| } | |
| .glyphicon-volume-down:before { | |
| content: "\e037"; | |
| } | |
| .glyphicon-volume-up:before { | |
| content: "\e038"; | |
| } | |
| .glyphicon-qrcode:before { | |
| content: "\e039"; | |
| } | |
| .glyphicon-barcode:before { | |
| content: "\e040"; | |
| } | |
| .glyphicon-tag:before { | |
| content: "\e041"; | |
| } | |
| .glyphicon-tags:before { | |
| content: "\e042"; | |
| } | |
| .glyphicon-book:before { | |
| content: "\e043"; | |
| } | |
| .glyphicon-bookmark:before { | |
| content: "\e044"; | |
| } | |
| .glyphicon-print:before { | |
| content: "\e045"; | |
| } | |
| .glyphicon-camera:before { | |
| content: "\e046"; | |
| } | |
| .glyphicon-font:before { | |
| content: "\e047"; | |
| } | |
| .glyphicon-bold:before { | |
| content: "\e048"; | |
| } | |
| .glyphicon-italic:before { | |
| content: "\e049"; | |
| } | |
| .glyphicon-text-height:before { | |
| content: "\e050"; | |
| } | |
| .glyphicon-text-width:before { | |
| content: "\e051"; | |
| } | |
| .glyphicon-align-left:before { | |
| content: "\e052"; | |
| } | |
| .glyphicon-align-center:before { | |
| content: "\e053"; | |
| } | |
| .glyphicon-align-right:before { | |
| content: "\e054"; | |
| } | |
| .glyphicon-align-justify:before { | |
| content: "\e055"; | |
| } | |
| .glyphicon-list:before { | |
| content: "\e056"; | |
| } | |
| .glyphicon-indent-left:before { | |
| content: "\e057"; | |
| } | |
| .glyphicon-indent-right:before { | |
| content: "\e058"; | |
| } | |
| .glyphicon-facetime-video:before { | |
| content: "\e059"; | |
| } | |
| .glyphicon-picture:before { | |
| content: "\e060"; | |
| } | |
| .glyphicon-map-marker:before { | |
| content: "\e062"; | |
| } | |
| .glyphicon-adjust:before { | |
| content: "\e063"; | |
| } | |
| .glyphicon-tint:before { | |
| content: "\e064"; | |
| } | |
| .glyphicon-edit:before { | |
| content: "\e065"; | |
| } | |
| .glyphicon-share:before { | |
| content: "\e066"; | |
| } | |
| .glyphicon-check:before { | |
| content: "\e067"; | |
| } | |
| .glyphicon-move:before { | |
| content: "\e068"; | |
| } | |
| .glyphicon-step-backward:before { | |
| content: "\e069"; | |
| } | |
| .glyphicon-fast-backward:before { | |
| content: "\e070"; | |
| } | |
| .glyphicon-backward:before { | |
| content: "\e071"; | |
| } | |
| .glyphicon-play:before { | |
| content: "\e072"; | |
| } | |
| .glyphicon-pause:before { | |
| content: "\e073"; | |
| } | |
| .glyphicon-stop:before { | |
| content: "\e074"; | |
| } | |
| .glyphicon-forward:before { | |
| content: "\e075"; | |
| } | |
| .glyphicon-fast-forward:before { | |
| content: "\e076"; | |
| } | |
| .glyphicon-step-forward:before { | |
| content: "\e077"; | |
| } | |
| .glyphicon-eject:before { | |
| content: "\e078"; | |
| } | |
| .glyphicon-chevron-left:before { | |
| content: "\e079"; | |
| } | |
| .glyphicon-chevron-right:before { | |
| content: "\e080"; | |
| } | |
| .glyphicon-plus-sign:before { | |
| content: "\e081"; | |
| } | |
| .glyphicon-minus-sign:before { | |
| content: "\e082"; | |
| } | |
| .glyphicon-remove-sign:before { | |
| content: "\e083"; | |
| } | |
| .glyphicon-ok-sign:before { | |
| content: "\e084"; | |
| } | |
| .glyphicon-question-sign:before { | |
| content: "\e085"; | |
| } | |
| .glyphicon-info-sign:before { | |
| content: "\e086"; | |
| } | |
| .glyphicon-screenshot:before { | |
| content: "\e087"; | |
| } | |
| .glyphicon-remove-circle:before { | |
| content: "\e088"; | |
| } | |
| .glyphicon-ok-circle:before { | |
| content: "\e089"; | |
| } | |
| .glyphicon-ban-circle:before { | |
| content: "\e090"; | |
| } | |
| .glyphicon-arrow-left:before { | |
| content: "\e091"; | |
| } | |
| .glyphicon-arrow-right:before { | |
| content: "\e092"; | |
| } | |
| .glyphicon-arrow-up:before { | |
| content: "\e093"; | |
| } | |
| .glyphicon-arrow-down:before { | |
| content: "\e094"; | |
| } | |
| .glyphicon-share-alt:before { | |
| content: "\e095"; | |
| } | |
| .glyphicon-resize-full:before { | |
| content: "\e096"; | |
| } | |
| .glyphicon-resize-small:before { | |
| content: "\e097"; | |
| } | |
| .glyphicon-exclamation-sign:before { | |
| content: "\e101"; | |
| } | |
| .glyphicon-gift:before { | |
| content: "\e102"; | |
| } | |
| .glyphicon-leaf:before { | |
| content: "\e103"; | |
| } | |
| .glyphicon-fire:before { | |
| content: "\e104"; | |
| } | |
| .glyphicon-eye-open:before { | |
| content: "\e105"; | |
| } | |
| .glyphicon-eye-close:before { | |
| content: "\e106"; | |
| } | |
| .glyphicon-warning-sign:before { | |
| content: "\e107"; | |
| } | |
| .glyphicon-plane:before { | |
| content: "\e108"; | |
| } | |
| .glyphicon-calendar:before { | |
| content: "\e109"; | |
| } | |
| .glyphicon-random:before { | |
| content: "\e110"; | |
| } | |
| .glyphicon-comment:before { | |
| content: "\e111"; | |
| } | |
| .glyphicon-magnet:before { | |
| content: "\e112"; | |
| } | |
| .glyphicon-chevron-up:before { | |
| content: "\e113"; | |
| } | |
| .glyphicon-chevron-down:before { | |
| content: "\e114"; | |
| } | |
| .glyphicon-retweet:before { | |
| content: "\e115"; | |
| } | |
| .glyphicon-shopping-cart:before { | |
| content: "\e116"; | |
| } | |
| .glyphicon-folder-close:before { | |
| content: "\e117"; | |
| } | |
| .glyphicon-folder-open:before { | |
| content: "\e118"; | |
| } | |
| .glyphicon-resize-vertical:before { | |
| content: "\e119"; | |
| } | |
| .glyphicon-resize-horizontal:before { | |
| content: "\e120"; | |
| } | |
| .glyphicon-hdd:before { | |
| content: "\e121"; | |
| } | |
| .glyphicon-bullhorn:before { | |
| content: "\e122"; | |
| } | |
| .glyphicon-bell:before { | |
| content: "\e123"; | |
| } | |
| .glyphicon-certificate:before { | |
| content: "\e124"; | |
| } | |
| .glyphicon-thumbs-up:before { | |
| content: "\e125"; | |
| } | |
| .glyphicon-thumbs-down:before { | |
| content: "\e126"; | |
| } | |
| .glyphicon-hand-right:before { | |
| content: "\e127"; | |
| } | |
| .glyphicon-hand-left:before { | |
| content: "\e128"; | |
| } | |
| .glyphicon-hand-up:before { | |
| content: "\e129"; | |
| } | |
| .glyphicon-hand-down:before { | |
| content: "\e130"; | |
| } | |
| .glyphicon-circle-arrow-right:before { | |
| content: "\e131"; | |
| } | |
| .glyphicon-circle-arrow-left:before { | |
| content: "\e132"; | |
| } | |
| .glyphicon-circle-arrow-up:before { | |
| content: "\e133"; | |
| } | |
| .glyphicon-circle-arrow-down:before { | |
| content: "\e134"; | |
| } | |
| .glyphicon-globe:before { | |
| content: "\e135"; | |
| } | |
| .glyphicon-wrench:before { | |
| content: "\e136"; | |
| } | |
| .glyphicon-tasks:before { | |
| content: "\e137"; | |
| } | |
| .glyphicon-filter:before { | |
| content: "\e138"; | |
| } | |
| .glyphicon-briefcase:before { | |
| content: "\e139"; | |
| } | |
| .glyphicon-fullscreen:before { | |
| content: "\e140"; | |
| } | |
| .glyphicon-dashboard:before { | |
| content: "\e141"; | |
| } | |
| .glyphicon-paperclip:before { | |
| content: "\e142"; | |
| } | |
| .glyphicon-heart-empty:before { | |
| content: "\e143"; | |
| } | |
| .glyphicon-link:before { | |
| content: "\e144"; | |
| } | |
| .glyphicon-phone:before { | |
| content: "\e145"; | |
| } | |
| .glyphicon-pushpin:before { | |
| content: "\e146"; | |
| } | |
| .glyphicon-usd:before { | |
| content: "\e148"; | |
| } | |
| .glyphicon-gbp:before { | |
| content: "\e149"; | |
| } | |
| .glyphicon-sort:before { | |
| content: "\e150"; | |
| } | |
| .glyphicon-sort-by-alphabet:before { | |
| content: "\e151"; | |
| } | |
| .glyphicon-sort-by-alphabet-alt:before { | |
| content: "\e152"; | |
| } | |
| .glyphicon-sort-by-order:before { | |
| content: "\e153"; | |
| } | |
| .glyphicon-sort-by-order-alt:before { | |
| content: "\e154"; | |
| } | |
| .glyphicon-sort-by-attributes:before { | |
| content: "\e155"; | |
| } | |
| .glyphicon-sort-by-attributes-alt:before { | |
| content: "\e156"; | |
| } | |
| .glyphicon-unchecked:before { | |
| content: "\e157"; | |
| } | |
| .glyphicon-expand:before { | |
| content: "\e158"; | |
| } | |
| .glyphicon-collapse-down:before { | |
| content: "\e159"; | |
| } | |
| .glyphicon-collapse-up:before { | |
| content: "\e160"; | |
| } | |
| .glyphicon-log-in:before { | |
| content: "\e161"; | |
| } | |
| .glyphicon-flash:before { | |
| content: "\e162"; | |
| } | |
| .glyphicon-log-out:before { | |
| content: "\e163"; | |
| } | |
| .glyphicon-new-window:before { | |
| content: "\e164"; | |
| } | |
| .glyphicon-record:before { | |
| content: "\e165"; | |
| } | |
| .glyphicon-save:before { | |
| content: "\e166"; | |
| } | |
| .glyphicon-open:before { | |
| content: "\e167"; | |
| } | |
| .glyphicon-saved:before { | |
| content: "\e168"; | |
| } | |
| .glyphicon-import:before { | |
| content: "\e169"; | |
| } | |
| .glyphicon-export:before { | |
| content: "\e170"; | |
| } | |
| .glyphicon-send:before { | |
| content: "\e171"; | |
| } | |
| .glyphicon-floppy-disk:before { | |
| content: "\e172"; | |
| } | |
| .glyphicon-floppy-saved:before { | |
| content: "\e173"; | |
| } | |
| .glyphicon-floppy-remove:before { | |
| content: "\e174"; | |
| } | |
| .glyphicon-floppy-save:before { | |
| content: "\e175"; | |
| } | |
| .glyphicon-floppy-open:before { | |
| content: "\e176"; | |
| } | |
| .glyphicon-credit-card:before { | |
| content: "\e177"; | |
| } | |
| .glyphicon-transfer:before { | |
| content: "\e178"; | |
| } | |
| .glyphicon-cutlery:before { | |
| content: "\e179"; | |
| } | |
| .glyphicon-header:before { | |
| content: "\e180"; | |
| } | |
| .glyphicon-compressed:before { | |
| content: "\e181"; | |
| } | |
| .glyphicon-earphone:before { | |
| content: "\e182"; | |
| } | |
| .glyphicon-phone-alt:before { | |
| content: "\e183"; | |
| } | |
| .glyphicon-tower:before { | |
| content: "\e184"; | |
| } | |
| .glyphicon-stats:before { | |
| content: "\e185"; | |
| } | |
| .glyphicon-sd-video:before { | |
| content: "\e186"; | |
| } | |
| .glyphicon-hd-video:before { | |
| content: "\e187"; | |
| } | |
| .glyphicon-subtitles:before { | |
| content: "\e188"; | |
| } | |
| .glyphicon-sound-stereo:before { | |
| content: "\e189"; | |
| } | |
| .glyphicon-sound-dolby:before { | |
| content: "\e190"; | |
| } | |
| .glyphicon-sound-5-1:before { | |
| content: "\e191"; | |
| } | |
| .glyphicon-sound-6-1:before { | |
| content: "\e192"; | |
| } | |
| .glyphicon-sound-7-1:before { | |
| content: "\e193"; | |
| } | |
| .glyphicon-copyright-mark:before { | |
| content: "\e194"; | |
| } | |
| .glyphicon-registration-mark:before { | |
| content: "\e195"; | |
| } | |
| .glyphicon-cloud-download:before { | |
| content: "\e197"; | |
| } | |
| .glyphicon-cloud-upload:before { | |
| content: "\e198"; | |
| } | |
| .glyphicon-tree-conifer:before { | |
| content: "\e199"; | |
| } | |
| .glyphicon-tree-deciduous:before { | |
| content: "\e200"; | |
| } | |
| .glyphicon-cd:before { | |
| content: "\e201"; | |
| } | |
| .glyphicon-save-file:before { | |
| content: "\e202"; | |
| } | |
| .glyphicon-open-file:before { | |
| content: "\e203"; | |
| } | |
| .glyphicon-level-up:before { | |
| content: "\e204"; | |
| } | |
| .glyphicon-copy:before { | |
| content: "\e205"; | |
| } | |
| .glyphicon-paste:before { | |
| content: "\e206"; | |
| } | |
| .glyphicon-alert:before { | |
| content: "\e209"; | |
| } | |
| .glyphicon-equalizer:before { | |
| content: "\e210"; | |
| } | |
| .glyphicon-king:before { | |
| content: "\e211"; | |
| } | |
| .glyphicon-queen:before { | |
| content: "\e212"; | |
| } | |
| .glyphicon-pawn:before { | |
| content: "\e213"; | |
| } | |
| .glyphicon-bishop:before { | |
| content: "\e214"; | |
| } | |
| .glyphicon-knight:before { | |
| content: "\e215"; | |
| } | |
| .glyphicon-baby-formula:before { | |
| content: "\e216"; | |
| } | |
| .glyphicon-tent:before { | |
| content: "\26fa"; | |
| } | |
| .glyphicon-blackboard:before { | |
| content: "\e218"; | |
| } | |
| .glyphicon-bed:before { | |
| content: "\e219"; | |
| } | |
| .glyphicon-apple:before { | |
| content: "\f8ff"; | |
| } | |
| .glyphicon-erase:before { | |
| content: "\e221"; | |
| } | |
| .glyphicon-hourglass:before { | |
| content: "\231b"; | |
| } | |
| .glyphicon-lamp:before { | |
| content: "\e223"; | |
| } | |
| .glyphicon-duplicate:before { | |
| content: "\e224"; | |
| } | |
| .glyphicon-piggy-bank:before { | |
| content: "\e225"; | |
| } | |
| .glyphicon-scissors:before { | |
| content: "\e226"; | |
| } | |
| .glyphicon-bitcoin:before { | |
| content: "\e227"; | |
| } | |
| .glyphicon-btc:before { | |
| content: "\e227"; | |
| } | |
| .glyphicon-xbt:before { | |
| content: "\e227"; | |
| } | |
| .glyphicon-yen:before { | |
| content: "\00a5"; | |
| } | |
| .glyphicon-jpy:before { | |
| content: "\00a5"; | |
| } | |
| .glyphicon-ruble:before { | |
| content: "\20bd"; | |
| } | |
| .glyphicon-rub:before { | |
| content: "\20bd"; | |
| } | |
| .glyphicon-scale:before { | |
| content: "\e230"; | |
| } | |
| .glyphicon-ice-lolly:before { | |
| content: "\e231"; | |
| } | |
| .glyphicon-ice-lolly-tasted:before { | |
| content: "\e232"; | |
| } | |
| .glyphicon-education:before { | |
| content: "\e233"; | |
| } | |
| .glyphicon-option-horizontal:before { | |
| content: "\e234"; | |
| } | |
| .glyphicon-option-vertical:before { | |
| content: "\e235"; | |
| } | |
| .glyphicon-menu-hamburger:before { | |
| content: "\e236"; | |
| } | |
| .glyphicon-modal-window:before { | |
| content: "\e237"; | |
| } | |
| .glyphicon-oil:before { | |
| content: "\e238"; | |
| } | |
| .glyphicon-grain:before { | |
| content: "\e239"; | |
| } | |
| .glyphicon-sunglasses:before { | |
| content: "\e240"; | |
| } | |
| .glyphicon-text-size:before { | |
| content: "\e241"; | |
| } | |
| .glyphicon-text-color:before { | |
| content: "\e242"; | |
| } | |
| .glyphicon-text-background:before { | |
| content: "\e243"; | |
| } | |
| .glyphicon-object-align-top:before { | |
| content: "\e244"; | |
| } | |
| .glyphicon-object-align-bottom:before { | |
| content: "\e245"; | |
| } | |
| .glyphicon-object-align-horizontal:before { | |
| content: "\e246"; | |
| } | |
| .glyphicon-object-align-left:before { | |
| content: "\e247"; | |
| } | |
| .glyphicon-object-align-vertical:before { | |
| content: "\e248"; | |
| } | |
| .glyphicon-object-align-right:before { | |
| content: "\e249"; | |
| } | |
| .glyphicon-triangle-right:before { | |
| content: "\e250"; | |
| } | |
| .glyphicon-triangle-left:before { | |
| content: "\e251"; | |
| } | |
| .glyphicon-triangle-bottom:before { | |
| content: "\e252"; | |
| } | |
| .glyphicon-triangle-top:before { | |
| content: "\e253"; | |
| } | |
| .glyphicon-console:before { | |
| content: "\e254"; | |
| } | |
| .glyphicon-superscript:before { | |
| content: "\e255"; | |
| } | |
| .glyphicon-subscript:before { | |
| content: "\e256"; | |
| } | |
| .glyphicon-menu-left:before { | |
| content: "\e257"; | |
| } | |
| .glyphicon-menu-right:before { | |
| content: "\e258"; | |
| } | |
| .glyphicon-menu-down:before { | |
| content: "\e259"; | |
| } | |
| .glyphicon-menu-up:before { | |
| content: "\e260"; | |
| } | |
| * { | |
| -webkit-box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| box-sizing: border-box; | |
| } | |
| *:before, | |
| *:after { | |
| -webkit-box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| box-sizing: border-box; | |
| } | |
| html { | |
| font-size: 10px; | |
| -webkit-tap-highlight-color: rgba(0, 0, 0, 0); | |
| } | |
| body { | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #000; | |
| background-color: #fff; | |
| } | |
| input, | |
| button, | |
| select, | |
| textarea { | |
| font-family: inherit; | |
| font-size: inherit; | |
| line-height: inherit; | |
| } | |
| a { | |
| color: #337ab7; | |
| text-decoration: none; | |
| } | |
| a:hover, | |
| a:focus { | |
| color: #23527c; | |
| text-decoration: underline; | |
| } | |
| a:focus { | |
| outline: 5px auto -webkit-focus-ring-color; | |
| outline-offset: -2px; | |
| } | |
| figure { | |
| margin: 0; | |
| } | |
| img { | |
| vertical-align: middle; | |
| } | |
| .img-responsive, | |
| .thumbnail > img, | |
| .thumbnail a > img, | |
| .carousel-inner > .item > img, | |
| .carousel-inner > .item > a > img { | |
| display: block; | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| .img-rounded { | |
| border-radius: 3px; | |
| } | |
| .img-thumbnail { | |
| padding: 4px; | |
| line-height: 1.42857143; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| border-radius: 2px; | |
| -webkit-transition: all 0.2s ease-in-out; | |
| -o-transition: all 0.2s ease-in-out; | |
| transition: all 0.2s ease-in-out; | |
| display: inline-block; | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| .img-circle { | |
| border-radius: 50%; | |
| } | |
| hr { | |
| margin-top: 18px; | |
| margin-bottom: 18px; | |
| border: 0; | |
| border-top: 1px solid #eeeeee; | |
| } | |
| .sr-only { | |
| position: absolute; | |
| width: 1px; | |
| height: 1px; | |
| margin: -1px; | |
| padding: 0; | |
| overflow: hidden; | |
| clip: rect(0, 0, 0, 0); | |
| border: 0; | |
| } | |
| .sr-only-focusable:active, | |
| .sr-only-focusable:focus { | |
| position: static; | |
| width: auto; | |
| height: auto; | |
| margin: 0; | |
| overflow: visible; | |
| clip: auto; | |
| } | |
| [role="button"] { | |
| cursor: pointer; | |
| } | |
| h1, | |
| h2, | |
| h3, | |
| h4, | |
| h5, | |
| h6, | |
| .h1, | |
| .h2, | |
| .h3, | |
| .h4, | |
| .h5, | |
| .h6 { | |
| font-family: inherit; | |
| font-weight: 500; | |
| line-height: 1.1; | |
| color: inherit; | |
| } | |
| h1 small, | |
| h2 small, | |
| h3 small, | |
| h4 small, | |
| h5 small, | |
| h6 small, | |
| .h1 small, | |
| .h2 small, | |
| .h3 small, | |
| .h4 small, | |
| .h5 small, | |
| .h6 small, | |
| h1 .small, | |
| h2 .small, | |
| h3 .small, | |
| h4 .small, | |
| h5 .small, | |
| h6 .small, | |
| .h1 .small, | |
| .h2 .small, | |
| .h3 .small, | |
| .h4 .small, | |
| .h5 .small, | |
| .h6 .small { | |
| font-weight: normal; | |
| line-height: 1; | |
| color: #777777; | |
| } | |
| h1, | |
| .h1, | |
| h2, | |
| .h2, | |
| h3, | |
| .h3 { | |
| margin-top: 18px; | |
| margin-bottom: 9px; | |
| } | |
| h1 small, | |
| .h1 small, | |
| h2 small, | |
| .h2 small, | |
| h3 small, | |
| .h3 small, | |
| h1 .small, | |
| .h1 .small, | |
| h2 .small, | |
| .h2 .small, | |
| h3 .small, | |
| .h3 .small { | |
| font-size: 65%; | |
| } | |
| h4, | |
| .h4, | |
| h5, | |
| .h5, | |
| h6, | |
| .h6 { | |
| margin-top: 9px; | |
| margin-bottom: 9px; | |
| } | |
| h4 small, | |
| .h4 small, | |
| h5 small, | |
| .h5 small, | |
| h6 small, | |
| .h6 small, | |
| h4 .small, | |
| .h4 .small, | |
| h5 .small, | |
| .h5 .small, | |
| h6 .small, | |
| .h6 .small { | |
| font-size: 75%; | |
| } | |
| h1, | |
| .h1 { | |
| font-size: 33px; | |
| } | |
| h2, | |
| .h2 { | |
| font-size: 27px; | |
| } | |
| h3, | |
| .h3 { | |
| font-size: 23px; | |
| } | |
| h4, | |
| .h4 { | |
| font-size: 17px; | |
| } | |
| h5, | |
| .h5 { | |
| font-size: 13px; | |
| } | |
| h6, | |
| .h6 { | |
| font-size: 12px; | |
| } | |
| p { | |
| margin: 0 0 9px; | |
| } | |
| .lead { | |
| margin-bottom: 18px; | |
| font-size: 14px; | |
| font-weight: 300; | |
| line-height: 1.4; | |
| } | |
| @media (min-width: 768px) { | |
| .lead { | |
| font-size: 19.5px; | |
| } | |
| } | |
| small, | |
| .small { | |
| font-size: 92%; | |
| } | |
| mark, | |
| .mark { | |
| background-color: #fcf8e3; | |
| padding: .2em; | |
| } | |
| .text-left { | |
| text-align: left; | |
| } | |
| .text-right { | |
| text-align: right; | |
| } | |
| .text-center { | |
| text-align: center; | |
| } | |
| .text-justify { | |
| text-align: justify; | |
| } | |
| .text-nowrap { | |
| white-space: nowrap; | |
| } | |
| .text-lowercase { | |
| text-transform: lowercase; | |
| } | |
| .text-uppercase { | |
| text-transform: uppercase; | |
| } | |
| .text-capitalize { | |
| text-transform: capitalize; | |
| } | |
| .text-muted { | |
| color: #777777; | |
| } | |
| .text-primary { | |
| color: #337ab7; | |
| } | |
| a.text-primary:hover, | |
| a.text-primary:focus { | |
| color: #286090; | |
| } | |
| .text-success { | |
| color: #3c763d; | |
| } | |
| a.text-success:hover, | |
| a.text-success:focus { | |
| color: #2b542c; | |
| } | |
| .text-info { | |
| color: #31708f; | |
| } | |
| a.text-info:hover, | |
| a.text-info:focus { | |
| color: #245269; | |
| } | |
| .text-warning { | |
| color: #8a6d3b; | |
| } | |
| a.text-warning:hover, | |
| a.text-warning:focus { | |
| color: #66512c; | |
| } | |
| .text-danger { | |
| color: #a94442; | |
| } | |
| a.text-danger:hover, | |
| a.text-danger:focus { | |
| color: #843534; | |
| } | |
| .bg-primary { | |
| color: #fff; | |
| background-color: #337ab7; | |
| } | |
| a.bg-primary:hover, | |
| a.bg-primary:focus { | |
| background-color: #286090; | |
| } | |
| .bg-success { | |
| background-color: #dff0d8; | |
| } | |
| a.bg-success:hover, | |
| a.bg-success:focus { | |
| background-color: #c1e2b3; | |
| } | |
| .bg-info { | |
| background-color: #d9edf7; | |
| } | |
| a.bg-info:hover, | |
| a.bg-info:focus { | |
| background-color: #afd9ee; | |
| } | |
| .bg-warning { | |
| background-color: #fcf8e3; | |
| } | |
| a.bg-warning:hover, | |
| a.bg-warning:focus { | |
| background-color: #f7ecb5; | |
| } | |
| .bg-danger { | |
| background-color: #f2dede; | |
| } | |
| a.bg-danger:hover, | |
| a.bg-danger:focus { | |
| background-color: #e4b9b9; | |
| } | |
| .page-header { | |
| padding-bottom: 8px; | |
| margin: 36px 0 18px; | |
| border-bottom: 1px solid #eeeeee; | |
| } | |
| ul, | |
| ol { | |
| margin-top: 0; | |
| margin-bottom: 9px; | |
| } | |
| ul ul, | |
| ol ul, | |
| ul ol, | |
| ol ol { | |
| margin-bottom: 0; | |
| } | |
| .list-unstyled { | |
| padding-left: 0; | |
| list-style: none; | |
| } | |
| .list-inline { | |
| padding-left: 0; | |
| list-style: none; | |
| margin-left: -5px; | |
| } | |
| .list-inline > li { | |
| display: inline-block; | |
| padding-left: 5px; | |
| padding-right: 5px; | |
| } | |
| dl { | |
| margin-top: 0; | |
| margin-bottom: 18px; | |
| } | |
| dt, | |
| dd { | |
| line-height: 1.42857143; | |
| } | |
| dt { | |
| font-weight: bold; | |
| } | |
| dd { | |
| margin-left: 0; | |
| } | |
| @media (min-width: 541px) { | |
| .dl-horizontal dt { | |
| float: left; | |
| width: 160px; | |
| clear: left; | |
| text-align: right; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| white-space: nowrap; | |
| } | |
| .dl-horizontal dd { | |
| margin-left: 180px; | |
| } | |
| } | |
| abbr[title], | |
| abbr[data-original-title] { | |
| cursor: help; | |
| border-bottom: 1px dotted #777777; | |
| } | |
| .initialism { | |
| font-size: 90%; | |
| text-transform: uppercase; | |
| } | |
| blockquote { | |
| padding: 9px 18px; | |
| margin: 0 0 18px; | |
| font-size: inherit; | |
| border-left: 5px solid #eeeeee; | |
| } | |
| blockquote p:last-child, | |
| blockquote ul:last-child, | |
| blockquote ol:last-child { | |
| margin-bottom: 0; | |
| } | |
| blockquote footer, | |
| blockquote small, | |
| blockquote .small { | |
| display: block; | |
| font-size: 80%; | |
| line-height: 1.42857143; | |
| color: #777777; | |
| } | |
| blockquote footer:before, | |
| blockquote small:before, | |
| blockquote .small:before { | |
| content: '\2014 \00A0'; | |
| } | |
| .blockquote-reverse, | |
| blockquote.pull-right { | |
| padding-right: 15px; | |
| padding-left: 0; | |
| border-right: 5px solid #eeeeee; | |
| border-left: 0; | |
| text-align: right; | |
| } | |
| .blockquote-reverse footer:before, | |
| blockquote.pull-right footer:before, | |
| .blockquote-reverse small:before, | |
| blockquote.pull-right small:before, | |
| .blockquote-reverse .small:before, | |
| blockquote.pull-right .small:before { | |
| content: ''; | |
| } | |
| .blockquote-reverse footer:after, | |
| blockquote.pull-right footer:after, | |
| .blockquote-reverse small:after, | |
| blockquote.pull-right small:after, | |
| .blockquote-reverse .small:after, | |
| blockquote.pull-right .small:after { | |
| content: '\00A0 \2014'; | |
| } | |
| address { | |
| margin-bottom: 18px; | |
| font-style: normal; | |
| line-height: 1.42857143; | |
| } | |
| code, | |
| kbd, | |
| pre, | |
| samp { | |
| font-family: monospace; | |
| } | |
| code { | |
| padding: 2px 4px; | |
| font-size: 90%; | |
| color: #c7254e; | |
| background-color: #f9f2f4; | |
| border-radius: 2px; | |
| } | |
| kbd { | |
| padding: 2px 4px; | |
| font-size: 90%; | |
| color: #888; | |
| background-color: transparent; | |
| border-radius: 1px; | |
| box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); | |
| } | |
| kbd kbd { | |
| padding: 0; | |
| font-size: 100%; | |
| font-weight: bold; | |
| box-shadow: none; | |
| } | |
| pre { | |
| display: block; | |
| padding: 8.5px; | |
| margin: 0 0 9px; | |
| font-size: 12px; | |
| line-height: 1.42857143; | |
| word-break: break-all; | |
| word-wrap: break-word; | |
| color: #333333; | |
| background-color: #f5f5f5; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| } | |
| pre code { | |
| padding: 0; | |
| font-size: inherit; | |
| color: inherit; | |
| white-space: pre-wrap; | |
| background-color: transparent; | |
| border-radius: 0; | |
| } | |
| .pre-scrollable { | |
| max-height: 340px; | |
| overflow-y: scroll; | |
| } | |
| .container { | |
| margin-right: auto; | |
| margin-left: auto; | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| @media (min-width: 768px) { | |
| .container { | |
| width: 768px; | |
| } | |
| } | |
| @media (min-width: 992px) { | |
| .container { | |
| width: 940px; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .container { | |
| width: 1140px; | |
| } | |
| } | |
| .container-fluid { | |
| margin-right: auto; | |
| margin-left: auto; | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| .row { | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| } | |
| .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { | |
| position: relative; | |
| min-height: 1px; | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { | |
| float: left; | |
| } | |
| .col-xs-12 { | |
| width: 100%; | |
| } | |
| .col-xs-11 { | |
| width: 91.66666667%; | |
| } | |
| .col-xs-10 { | |
| width: 83.33333333%; | |
| } | |
| .col-xs-9 { | |
| width: 75%; | |
| } | |
| .col-xs-8 { | |
| width: 66.66666667%; | |
| } | |
| .col-xs-7 { | |
| width: 58.33333333%; | |
| } | |
| .col-xs-6 { | |
| width: 50%; | |
| } | |
| .col-xs-5 { | |
| width: 41.66666667%; | |
| } | |
| .col-xs-4 { | |
| width: 33.33333333%; | |
| } | |
| .col-xs-3 { | |
| width: 25%; | |
| } | |
| .col-xs-2 { | |
| width: 16.66666667%; | |
| } | |
| .col-xs-1 { | |
| width: 8.33333333%; | |
| } | |
| .col-xs-pull-12 { | |
| right: 100%; | |
| } | |
| .col-xs-pull-11 { | |
| right: 91.66666667%; | |
| } | |
| .col-xs-pull-10 { | |
| right: 83.33333333%; | |
| } | |
| .col-xs-pull-9 { | |
| right: 75%; | |
| } | |
| .col-xs-pull-8 { | |
| right: 66.66666667%; | |
| } | |
| .col-xs-pull-7 { | |
| right: 58.33333333%; | |
| } | |
| .col-xs-pull-6 { | |
| right: 50%; | |
| } | |
| .col-xs-pull-5 { | |
| right: 41.66666667%; | |
| } | |
| .col-xs-pull-4 { | |
| right: 33.33333333%; | |
| } | |
| .col-xs-pull-3 { | |
| right: 25%; | |
| } | |
| .col-xs-pull-2 { | |
| right: 16.66666667%; | |
| } | |
| .col-xs-pull-1 { | |
| right: 8.33333333%; | |
| } | |
| .col-xs-pull-0 { | |
| right: auto; | |
| } | |
| .col-xs-push-12 { | |
| left: 100%; | |
| } | |
| .col-xs-push-11 { | |
| left: 91.66666667%; | |
| } | |
| .col-xs-push-10 { | |
| left: 83.33333333%; | |
| } | |
| .col-xs-push-9 { | |
| left: 75%; | |
| } | |
| .col-xs-push-8 { | |
| left: 66.66666667%; | |
| } | |
| .col-xs-push-7 { | |
| left: 58.33333333%; | |
| } | |
| .col-xs-push-6 { | |
| left: 50%; | |
| } | |
| .col-xs-push-5 { | |
| left: 41.66666667%; | |
| } | |
| .col-xs-push-4 { | |
| left: 33.33333333%; | |
| } | |
| .col-xs-push-3 { | |
| left: 25%; | |
| } | |
| .col-xs-push-2 { | |
| left: 16.66666667%; | |
| } | |
| .col-xs-push-1 { | |
| left: 8.33333333%; | |
| } | |
| .col-xs-push-0 { | |
| left: auto; | |
| } | |
| .col-xs-offset-12 { | |
| margin-left: 100%; | |
| } | |
| .col-xs-offset-11 { | |
| margin-left: 91.66666667%; | |
| } | |
| .col-xs-offset-10 { | |
| margin-left: 83.33333333%; | |
| } | |
| .col-xs-offset-9 { | |
| margin-left: 75%; | |
| } | |
| .col-xs-offset-8 { | |
| margin-left: 66.66666667%; | |
| } | |
| .col-xs-offset-7 { | |
| margin-left: 58.33333333%; | |
| } | |
| .col-xs-offset-6 { | |
| margin-left: 50%; | |
| } | |
| .col-xs-offset-5 { | |
| margin-left: 41.66666667%; | |
| } | |
| .col-xs-offset-4 { | |
| margin-left: 33.33333333%; | |
| } | |
| .col-xs-offset-3 { | |
| margin-left: 25%; | |
| } | |
| .col-xs-offset-2 { | |
| margin-left: 16.66666667%; | |
| } | |
| .col-xs-offset-1 { | |
| margin-left: 8.33333333%; | |
| } | |
| .col-xs-offset-0 { | |
| margin-left: 0%; | |
| } | |
| @media (min-width: 768px) { | |
| .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { | |
| float: left; | |
| } | |
| .col-sm-12 { | |
| width: 100%; | |
| } | |
| .col-sm-11 { | |
| width: 91.66666667%; | |
| } | |
| .col-sm-10 { | |
| width: 83.33333333%; | |
| } | |
| .col-sm-9 { | |
| width: 75%; | |
| } | |
| .col-sm-8 { | |
| width: 66.66666667%; | |
| } | |
| .col-sm-7 { | |
| width: 58.33333333%; | |
| } | |
| .col-sm-6 { | |
| width: 50%; | |
| } | |
| .col-sm-5 { | |
| width: 41.66666667%; | |
| } | |
| .col-sm-4 { | |
| width: 33.33333333%; | |
| } | |
| .col-sm-3 { | |
| width: 25%; | |
| } | |
| .col-sm-2 { | |
| width: 16.66666667%; | |
| } | |
| .col-sm-1 { | |
| width: 8.33333333%; | |
| } | |
| .col-sm-pull-12 { | |
| right: 100%; | |
| } | |
| .col-sm-pull-11 { | |
| right: 91.66666667%; | |
| } | |
| .col-sm-pull-10 { | |
| right: 83.33333333%; | |
| } | |
| .col-sm-pull-9 { | |
| right: 75%; | |
| } | |
| .col-sm-pull-8 { | |
| right: 66.66666667%; | |
| } | |
| .col-sm-pull-7 { | |
| right: 58.33333333%; | |
| } | |
| .col-sm-pull-6 { | |
| right: 50%; | |
| } | |
| .col-sm-pull-5 { | |
| right: 41.66666667%; | |
| } | |
| .col-sm-pull-4 { | |
| right: 33.33333333%; | |
| } | |
| .col-sm-pull-3 { | |
| right: 25%; | |
| } | |
| .col-sm-pull-2 { | |
| right: 16.66666667%; | |
| } | |
| .col-sm-pull-1 { | |
| right: 8.33333333%; | |
| } | |
| .col-sm-pull-0 { | |
| right: auto; | |
| } | |
| .col-sm-push-12 { | |
| left: 100%; | |
| } | |
| .col-sm-push-11 { | |
| left: 91.66666667%; | |
| } | |
| .col-sm-push-10 { | |
| left: 83.33333333%; | |
| } | |
| .col-sm-push-9 { | |
| left: 75%; | |
| } | |
| .col-sm-push-8 { | |
| left: 66.66666667%; | |
| } | |
| .col-sm-push-7 { | |
| left: 58.33333333%; | |
| } | |
| .col-sm-push-6 { | |
| left: 50%; | |
| } | |
| .col-sm-push-5 { | |
| left: 41.66666667%; | |
| } | |
| .col-sm-push-4 { | |
| left: 33.33333333%; | |
| } | |
| .col-sm-push-3 { | |
| left: 25%; | |
| } | |
| .col-sm-push-2 { | |
| left: 16.66666667%; | |
| } | |
| .col-sm-push-1 { | |
| left: 8.33333333%; | |
| } | |
| .col-sm-push-0 { | |
| left: auto; | |
| } | |
| .col-sm-offset-12 { | |
| margin-left: 100%; | |
| } | |
| .col-sm-offset-11 { | |
| margin-left: 91.66666667%; | |
| } | |
| .col-sm-offset-10 { | |
| margin-left: 83.33333333%; | |
| } | |
| .col-sm-offset-9 { | |
| margin-left: 75%; | |
| } | |
| .col-sm-offset-8 { | |
| margin-left: 66.66666667%; | |
| } | |
| .col-sm-offset-7 { | |
| margin-left: 58.33333333%; | |
| } | |
| .col-sm-offset-6 { | |
| margin-left: 50%; | |
| } | |
| .col-sm-offset-5 { | |
| margin-left: 41.66666667%; | |
| } | |
| .col-sm-offset-4 { | |
| margin-left: 33.33333333%; | |
| } | |
| .col-sm-offset-3 { | |
| margin-left: 25%; | |
| } | |
| .col-sm-offset-2 { | |
| margin-left: 16.66666667%; | |
| } | |
| .col-sm-offset-1 { | |
| margin-left: 8.33333333%; | |
| } | |
| .col-sm-offset-0 { | |
| margin-left: 0%; | |
| } | |
| } | |
| @media (min-width: 992px) { | |
| .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { | |
| float: left; | |
| } | |
| .col-md-12 { | |
| width: 100%; | |
| } | |
| .col-md-11 { | |
| width: 91.66666667%; | |
| } | |
| .col-md-10 { | |
| width: 83.33333333%; | |
| } | |
| .col-md-9 { | |
| width: 75%; | |
| } | |
| .col-md-8 { | |
| width: 66.66666667%; | |
| } | |
| .col-md-7 { | |
| width: 58.33333333%; | |
| } | |
| .col-md-6 { | |
| width: 50%; | |
| } | |
| .col-md-5 { | |
| width: 41.66666667%; | |
| } | |
| .col-md-4 { | |
| width: 33.33333333%; | |
| } | |
| .col-md-3 { | |
| width: 25%; | |
| } | |
| .col-md-2 { | |
| width: 16.66666667%; | |
| } | |
| .col-md-1 { | |
| width: 8.33333333%; | |
| } | |
| .col-md-pull-12 { | |
| right: 100%; | |
| } | |
| .col-md-pull-11 { | |
| right: 91.66666667%; | |
| } | |
| .col-md-pull-10 { | |
| right: 83.33333333%; | |
| } | |
| .col-md-pull-9 { | |
| right: 75%; | |
| } | |
| .col-md-pull-8 { | |
| right: 66.66666667%; | |
| } | |
| .col-md-pull-7 { | |
| right: 58.33333333%; | |
| } | |
| .col-md-pull-6 { | |
| right: 50%; | |
| } | |
| .col-md-pull-5 { | |
| right: 41.66666667%; | |
| } | |
| .col-md-pull-4 { | |
| right: 33.33333333%; | |
| } | |
| .col-md-pull-3 { | |
| right: 25%; | |
| } | |
| .col-md-pull-2 { | |
| right: 16.66666667%; | |
| } | |
| .col-md-pull-1 { | |
| right: 8.33333333%; | |
| } | |
| .col-md-pull-0 { | |
| right: auto; | |
| } | |
| .col-md-push-12 { | |
| left: 100%; | |
| } | |
| .col-md-push-11 { | |
| left: 91.66666667%; | |
| } | |
| .col-md-push-10 { | |
| left: 83.33333333%; | |
| } | |
| .col-md-push-9 { | |
| left: 75%; | |
| } | |
| .col-md-push-8 { | |
| left: 66.66666667%; | |
| } | |
| .col-md-push-7 { | |
| left: 58.33333333%; | |
| } | |
| .col-md-push-6 { | |
| left: 50%; | |
| } | |
| .col-md-push-5 { | |
| left: 41.66666667%; | |
| } | |
| .col-md-push-4 { | |
| left: 33.33333333%; | |
| } | |
| .col-md-push-3 { | |
| left: 25%; | |
| } | |
| .col-md-push-2 { | |
| left: 16.66666667%; | |
| } | |
| .col-md-push-1 { | |
| left: 8.33333333%; | |
| } | |
| .col-md-push-0 { | |
| left: auto; | |
| } | |
| .col-md-offset-12 { | |
| margin-left: 100%; | |
| } | |
| .col-md-offset-11 { | |
| margin-left: 91.66666667%; | |
| } | |
| .col-md-offset-10 { | |
| margin-left: 83.33333333%; | |
| } | |
| .col-md-offset-9 { | |
| margin-left: 75%; | |
| } | |
| .col-md-offset-8 { | |
| margin-left: 66.66666667%; | |
| } | |
| .col-md-offset-7 { | |
| margin-left: 58.33333333%; | |
| } | |
| .col-md-offset-6 { | |
| margin-left: 50%; | |
| } | |
| .col-md-offset-5 { | |
| margin-left: 41.66666667%; | |
| } | |
| .col-md-offset-4 { | |
| margin-left: 33.33333333%; | |
| } | |
| .col-md-offset-3 { | |
| margin-left: 25%; | |
| } | |
| .col-md-offset-2 { | |
| margin-left: 16.66666667%; | |
| } | |
| .col-md-offset-1 { | |
| margin-left: 8.33333333%; | |
| } | |
| .col-md-offset-0 { | |
| margin-left: 0%; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { | |
| float: left; | |
| } | |
| .col-lg-12 { | |
| width: 100%; | |
| } | |
| .col-lg-11 { | |
| width: 91.66666667%; | |
| } | |
| .col-lg-10 { | |
| width: 83.33333333%; | |
| } | |
| .col-lg-9 { | |
| width: 75%; | |
| } | |
| .col-lg-8 { | |
| width: 66.66666667%; | |
| } | |
| .col-lg-7 { | |
| width: 58.33333333%; | |
| } | |
| .col-lg-6 { | |
| width: 50%; | |
| } | |
| .col-lg-5 { | |
| width: 41.66666667%; | |
| } | |
| .col-lg-4 { | |
| width: 33.33333333%; | |
| } | |
| .col-lg-3 { | |
| width: 25%; | |
| } | |
| .col-lg-2 { | |
| width: 16.66666667%; | |
| } | |
| .col-lg-1 { | |
| width: 8.33333333%; | |
| } | |
| .col-lg-pull-12 { | |
| right: 100%; | |
| } | |
| .col-lg-pull-11 { | |
| right: 91.66666667%; | |
| } | |
| .col-lg-pull-10 { | |
| right: 83.33333333%; | |
| } | |
| .col-lg-pull-9 { | |
| right: 75%; | |
| } | |
| .col-lg-pull-8 { | |
| right: 66.66666667%; | |
| } | |
| .col-lg-pull-7 { | |
| right: 58.33333333%; | |
| } | |
| .col-lg-pull-6 { | |
| right: 50%; | |
| } | |
| .col-lg-pull-5 { | |
| right: 41.66666667%; | |
| } | |
| .col-lg-pull-4 { | |
| right: 33.33333333%; | |
| } | |
| .col-lg-pull-3 { | |
| right: 25%; | |
| } | |
| .col-lg-pull-2 { | |
| right: 16.66666667%; | |
| } | |
| .col-lg-pull-1 { | |
| right: 8.33333333%; | |
| } | |
| .col-lg-pull-0 { | |
| right: auto; | |
| } | |
| .col-lg-push-12 { | |
| left: 100%; | |
| } | |
| .col-lg-push-11 { | |
| left: 91.66666667%; | |
| } | |
| .col-lg-push-10 { | |
| left: 83.33333333%; | |
| } | |
| .col-lg-push-9 { | |
| left: 75%; | |
| } | |
| .col-lg-push-8 { | |
| left: 66.66666667%; | |
| } | |
| .col-lg-push-7 { | |
| left: 58.33333333%; | |
| } | |
| .col-lg-push-6 { | |
| left: 50%; | |
| } | |
| .col-lg-push-5 { | |
| left: 41.66666667%; | |
| } | |
| .col-lg-push-4 { | |
| left: 33.33333333%; | |
| } | |
| .col-lg-push-3 { | |
| left: 25%; | |
| } | |
| .col-lg-push-2 { | |
| left: 16.66666667%; | |
| } | |
| .col-lg-push-1 { | |
| left: 8.33333333%; | |
| } | |
| .col-lg-push-0 { | |
| left: auto; | |
| } | |
| .col-lg-offset-12 { | |
| margin-left: 100%; | |
| } | |
| .col-lg-offset-11 { | |
| margin-left: 91.66666667%; | |
| } | |
| .col-lg-offset-10 { | |
| margin-left: 83.33333333%; | |
| } | |
| .col-lg-offset-9 { | |
| margin-left: 75%; | |
| } | |
| .col-lg-offset-8 { | |
| margin-left: 66.66666667%; | |
| } | |
| .col-lg-offset-7 { | |
| margin-left: 58.33333333%; | |
| } | |
| .col-lg-offset-6 { | |
| margin-left: 50%; | |
| } | |
| .col-lg-offset-5 { | |
| margin-left: 41.66666667%; | |
| } | |
| .col-lg-offset-4 { | |
| margin-left: 33.33333333%; | |
| } | |
| .col-lg-offset-3 { | |
| margin-left: 25%; | |
| } | |
| .col-lg-offset-2 { | |
| margin-left: 16.66666667%; | |
| } | |
| .col-lg-offset-1 { | |
| margin-left: 8.33333333%; | |
| } | |
| .col-lg-offset-0 { | |
| margin-left: 0%; | |
| } | |
| } | |
| table { | |
| background-color: transparent; | |
| } | |
| caption { | |
| padding-top: 8px; | |
| padding-bottom: 8px; | |
| color: #777777; | |
| text-align: left; | |
| } | |
| th { | |
| text-align: left; | |
| } | |
| .table { | |
| width: 100%; | |
| max-width: 100%; | |
| margin-bottom: 18px; | |
| } | |
| .table > thead > tr > th, | |
| .table > tbody > tr > th, | |
| .table > tfoot > tr > th, | |
| .table > thead > tr > td, | |
| .table > tbody > tr > td, | |
| .table > tfoot > tr > td { | |
| padding: 8px; | |
| line-height: 1.42857143; | |
| vertical-align: top; | |
| border-top: 1px solid #ddd; | |
| } | |
| .table > thead > tr > th { | |
| vertical-align: bottom; | |
| border-bottom: 2px solid #ddd; | |
| } | |
| .table > caption + thead > tr:first-child > th, | |
| .table > colgroup + thead > tr:first-child > th, | |
| .table > thead:first-child > tr:first-child > th, | |
| .table > caption + thead > tr:first-child > td, | |
| .table > colgroup + thead > tr:first-child > td, | |
| .table > thead:first-child > tr:first-child > td { | |
| border-top: 0; | |
| } | |
| .table > tbody + tbody { | |
| border-top: 2px solid #ddd; | |
| } | |
| .table .table { | |
| background-color: #fff; | |
| } | |
| .table-condensed > thead > tr > th, | |
| .table-condensed > tbody > tr > th, | |
| .table-condensed > tfoot > tr > th, | |
| .table-condensed > thead > tr > td, | |
| .table-condensed > tbody > tr > td, | |
| .table-condensed > tfoot > tr > td { | |
| padding: 5px; | |
| } | |
| .table-bordered { | |
| border: 1px solid #ddd; | |
| } | |
| .table-bordered > thead > tr > th, | |
| .table-bordered > tbody > tr > th, | |
| .table-bordered > tfoot > tr > th, | |
| .table-bordered > thead > tr > td, | |
| .table-bordered > tbody > tr > td, | |
| .table-bordered > tfoot > tr > td { | |
| border: 1px solid #ddd; | |
| } | |
| .table-bordered > thead > tr > th, | |
| .table-bordered > thead > tr > td { | |
| border-bottom-width: 2px; | |
| } | |
| .table-striped > tbody > tr:nth-of-type(odd) { | |
| background-color: #f9f9f9; | |
| } | |
| .table-hover > tbody > tr:hover { | |
| background-color: #f5f5f5; | |
| } | |
| table col[class*="col-"] { | |
| position: static; | |
| float: none; | |
| display: table-column; | |
| } | |
| table td[class*="col-"], | |
| table th[class*="col-"] { | |
| position: static; | |
| float: none; | |
| display: table-cell; | |
| } | |
| .table > thead > tr > td.active, | |
| .table > tbody > tr > td.active, | |
| .table > tfoot > tr > td.active, | |
| .table > thead > tr > th.active, | |
| .table > tbody > tr > th.active, | |
| .table > tfoot > tr > th.active, | |
| .table > thead > tr.active > td, | |
| .table > tbody > tr.active > td, | |
| .table > tfoot > tr.active > td, | |
| .table > thead > tr.active > th, | |
| .table > tbody > tr.active > th, | |
| .table > tfoot > tr.active > th { | |
| background-color: #f5f5f5; | |
| } | |
| .table-hover > tbody > tr > td.active:hover, | |
| .table-hover > tbody > tr > th.active:hover, | |
| .table-hover > tbody > tr.active:hover > td, | |
| .table-hover > tbody > tr:hover > .active, | |
| .table-hover > tbody > tr.active:hover > th { | |
| background-color: #e8e8e8; | |
| } | |
| .table > thead > tr > td.success, | |
| .table > tbody > tr > td.success, | |
| .table > tfoot > tr > td.success, | |
| .table > thead > tr > th.success, | |
| .table > tbody > tr > th.success, | |
| .table > tfoot > tr > th.success, | |
| .table > thead > tr.success > td, | |
| .table > tbody > tr.success > td, | |
| .table > tfoot > tr.success > td, | |
| .table > thead > tr.success > th, | |
| .table > tbody > tr.success > th, | |
| .table > tfoot > tr.success > th { | |
| background-color: #dff0d8; | |
| } | |
| .table-hover > tbody > tr > td.success:hover, | |
| .table-hover > tbody > tr > th.success:hover, | |
| .table-hover > tbody > tr.success:hover > td, | |
| .table-hover > tbody > tr:hover > .success, | |
| .table-hover > tbody > tr.success:hover > th { | |
| background-color: #d0e9c6; | |
| } | |
| .table > thead > tr > td.info, | |
| .table > tbody > tr > td.info, | |
| .table > tfoot > tr > td.info, | |
| .table > thead > tr > th.info, | |
| .table > tbody > tr > th.info, | |
| .table > tfoot > tr > th.info, | |
| .table > thead > tr.info > td, | |
| .table > tbody > tr.info > td, | |
| .table > tfoot > tr.info > td, | |
| .table > thead > tr.info > th, | |
| .table > tbody > tr.info > th, | |
| .table > tfoot > tr.info > th { | |
| background-color: #d9edf7; | |
| } | |
| .table-hover > tbody > tr > td.info:hover, | |
| .table-hover > tbody > tr > th.info:hover, | |
| .table-hover > tbody > tr.info:hover > td, | |
| .table-hover > tbody > tr:hover > .info, | |
| .table-hover > tbody > tr.info:hover > th { | |
| background-color: #c4e3f3; | |
| } | |
| .table > thead > tr > td.warning, | |
| .table > tbody > tr > td.warning, | |
| .table > tfoot > tr > td.warning, | |
| .table > thead > tr > th.warning, | |
| .table > tbody > tr > th.warning, | |
| .table > tfoot > tr > th.warning, | |
| .table > thead > tr.warning > td, | |
| .table > tbody > tr.warning > td, | |
| .table > tfoot > tr.warning > td, | |
| .table > thead > tr.warning > th, | |
| .table > tbody > tr.warning > th, | |
| .table > tfoot > tr.warning > th { | |
| background-color: #fcf8e3; | |
| } | |
| .table-hover > tbody > tr > td.warning:hover, | |
| .table-hover > tbody > tr > th.warning:hover, | |
| .table-hover > tbody > tr.warning:hover > td, | |
| .table-hover > tbody > tr:hover > .warning, | |
| .table-hover > tbody > tr.warning:hover > th { | |
| background-color: #faf2cc; | |
| } | |
| .table > thead > tr > td.danger, | |
| .table > tbody > tr > td.danger, | |
| .table > tfoot > tr > td.danger, | |
| .table > thead > tr > th.danger, | |
| .table > tbody > tr > th.danger, | |
| .table > tfoot > tr > th.danger, | |
| .table > thead > tr.danger > td, | |
| .table > tbody > tr.danger > td, | |
| .table > tfoot > tr.danger > td, | |
| .table > thead > tr.danger > th, | |
| .table > tbody > tr.danger > th, | |
| .table > tfoot > tr.danger > th { | |
| background-color: #f2dede; | |
| } | |
| .table-hover > tbody > tr > td.danger:hover, | |
| .table-hover > tbody > tr > th.danger:hover, | |
| .table-hover > tbody > tr.danger:hover > td, | |
| .table-hover > tbody > tr:hover > .danger, | |
| .table-hover > tbody > tr.danger:hover > th { | |
| background-color: #ebcccc; | |
| } | |
| .table-responsive { | |
| overflow-x: auto; | |
| min-height: 0.01%; | |
| } | |
| @media screen and (max-width: 767px) { | |
| .table-responsive { | |
| width: 100%; | |
| margin-bottom: 13.5px; | |
| overflow-y: hidden; | |
| -ms-overflow-style: -ms-autohiding-scrollbar; | |
| border: 1px solid #ddd; | |
| } | |
| .table-responsive > .table { | |
| margin-bottom: 0; | |
| } | |
| .table-responsive > .table > thead > tr > th, | |
| .table-responsive > .table > tbody > tr > th, | |
| .table-responsive > .table > tfoot > tr > th, | |
| .table-responsive > .table > thead > tr > td, | |
| .table-responsive > .table > tbody > tr > td, | |
| .table-responsive > .table > tfoot > tr > td { | |
| white-space: nowrap; | |
| } | |
| .table-responsive > .table-bordered { | |
| border: 0; | |
| } | |
| .table-responsive > .table-bordered > thead > tr > th:first-child, | |
| .table-responsive > .table-bordered > tbody > tr > th:first-child, | |
| .table-responsive > .table-bordered > tfoot > tr > th:first-child, | |
| .table-responsive > .table-bordered > thead > tr > td:first-child, | |
| .table-responsive > .table-bordered > tbody > tr > td:first-child, | |
| .table-responsive > .table-bordered > tfoot > tr > td:first-child { | |
| border-left: 0; | |
| } | |
| .table-responsive > .table-bordered > thead > tr > th:last-child, | |
| .table-responsive > .table-bordered > tbody > tr > th:last-child, | |
| .table-responsive > .table-bordered > tfoot > tr > th:last-child, | |
| .table-responsive > .table-bordered > thead > tr > td:last-child, | |
| .table-responsive > .table-bordered > tbody > tr > td:last-child, | |
| .table-responsive > .table-bordered > tfoot > tr > td:last-child { | |
| border-right: 0; | |
| } | |
| .table-responsive > .table-bordered > tbody > tr:last-child > th, | |
| .table-responsive > .table-bordered > tfoot > tr:last-child > th, | |
| .table-responsive > .table-bordered > tbody > tr:last-child > td, | |
| .table-responsive > .table-bordered > tfoot > tr:last-child > td { | |
| border-bottom: 0; | |
| } | |
| } | |
| fieldset { | |
| padding: 0; | |
| margin: 0; | |
| border: 0; | |
| min-width: 0; | |
| } | |
| legend { | |
| display: block; | |
| width: 100%; | |
| padding: 0; | |
| margin-bottom: 18px; | |
| font-size: 19.5px; | |
| line-height: inherit; | |
| color: #333333; | |
| border: 0; | |
| border-bottom: 1px solid #e5e5e5; | |
| } | |
| label { | |
| display: inline-block; | |
| max-width: 100%; | |
| margin-bottom: 5px; | |
| font-weight: bold; | |
| } | |
| input[type="search"] { | |
| -webkit-box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| box-sizing: border-box; | |
| } | |
| input[type="radio"], | |
| input[type="checkbox"] { | |
| margin: 4px 0 0; | |
| margin-top: 1px \9; | |
| line-height: normal; | |
| } | |
| input[type="file"] { | |
| display: block; | |
| } | |
| input[type="range"] { | |
| display: block; | |
| width: 100%; | |
| } | |
| select[multiple], | |
| select[size] { | |
| height: auto; | |
| } | |
| input[type="file"]:focus, | |
| input[type="radio"]:focus, | |
| input[type="checkbox"]:focus { | |
| outline: 5px auto -webkit-focus-ring-color; | |
| outline-offset: -2px; | |
| } | |
| output { | |
| display: block; | |
| padding-top: 7px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #555555; | |
| } | |
| .form-control { | |
| display: block; | |
| width: 100%; | |
| height: 32px; | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #555555; | |
| background-color: #fff; | |
| background-image: none; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| } | |
| .form-control:focus { | |
| border-color: #66afe9; | |
| outline: 0; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| } | |
| .form-control::-moz-placeholder { | |
| color: #999; | |
| opacity: 1; | |
| } | |
| .form-control:-ms-input-placeholder { | |
| color: #999; | |
| } | |
| .form-control::-webkit-input-placeholder { | |
| color: #999; | |
| } | |
| .form-control::-ms-expand { | |
| border: 0; | |
| background-color: transparent; | |
| } | |
| .form-control[disabled], | |
| .form-control[readonly], | |
| fieldset[disabled] .form-control { | |
| background-color: #eeeeee; | |
| opacity: 1; | |
| } | |
| .form-control[disabled], | |
| fieldset[disabled] .form-control { | |
| cursor: not-allowed; | |
| } | |
| textarea.form-control { | |
| height: auto; | |
| } | |
| input[type="search"] { | |
| -webkit-appearance: none; | |
| } | |
| @media screen and (-webkit-min-device-pixel-ratio: 0) { | |
| input[type="date"].form-control, | |
| input[type="time"].form-control, | |
| input[type="datetime-local"].form-control, | |
| input[type="month"].form-control { | |
| line-height: 32px; | |
| } | |
| input[type="date"].input-sm, | |
| input[type="time"].input-sm, | |
| input[type="datetime-local"].input-sm, | |
| input[type="month"].input-sm, | |
| .input-group-sm input[type="date"], | |
| .input-group-sm input[type="time"], | |
| .input-group-sm input[type="datetime-local"], | |
| .input-group-sm input[type="month"] { | |
| line-height: 30px; | |
| } | |
| input[type="date"].input-lg, | |
| input[type="time"].input-lg, | |
| input[type="datetime-local"].input-lg, | |
| input[type="month"].input-lg, | |
| .input-group-lg input[type="date"], | |
| .input-group-lg input[type="time"], | |
| .input-group-lg input[type="datetime-local"], | |
| .input-group-lg input[type="month"] { | |
| line-height: 45px; | |
| } | |
| } | |
| .form-group { | |
| margin-bottom: 15px; | |
| } | |
| .radio, | |
| .checkbox { | |
| position: relative; | |
| display: block; | |
| margin-top: 10px; | |
| margin-bottom: 10px; | |
| } | |
| .radio label, | |
| .checkbox label { | |
| min-height: 18px; | |
| padding-left: 20px; | |
| margin-bottom: 0; | |
| font-weight: normal; | |
| cursor: pointer; | |
| } | |
| .radio input[type="radio"], | |
| .radio-inline input[type="radio"], | |
| .checkbox input[type="checkbox"], | |
| .checkbox-inline input[type="checkbox"] { | |
| position: absolute; | |
| margin-left: -20px; | |
| margin-top: 4px \9; | |
| } | |
| .radio + .radio, | |
| .checkbox + .checkbox { | |
| margin-top: -5px; | |
| } | |
| .radio-inline, | |
| .checkbox-inline { | |
| position: relative; | |
| display: inline-block; | |
| padding-left: 20px; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| font-weight: normal; | |
| cursor: pointer; | |
| } | |
| .radio-inline + .radio-inline, | |
| .checkbox-inline + .checkbox-inline { | |
| margin-top: 0; | |
| margin-left: 10px; | |
| } | |
| input[type="radio"][disabled], | |
| input[type="checkbox"][disabled], | |
| input[type="radio"].disabled, | |
| input[type="checkbox"].disabled, | |
| fieldset[disabled] input[type="radio"], | |
| fieldset[disabled] input[type="checkbox"] { | |
| cursor: not-allowed; | |
| } | |
| .radio-inline.disabled, | |
| .checkbox-inline.disabled, | |
| fieldset[disabled] .radio-inline, | |
| fieldset[disabled] .checkbox-inline { | |
| cursor: not-allowed; | |
| } | |
| .radio.disabled label, | |
| .checkbox.disabled label, | |
| fieldset[disabled] .radio label, | |
| fieldset[disabled] .checkbox label { | |
| cursor: not-allowed; | |
| } | |
| .form-control-static { | |
| padding-top: 7px; | |
| padding-bottom: 7px; | |
| margin-bottom: 0; | |
| min-height: 31px; | |
| } | |
| .form-control-static.input-lg, | |
| .form-control-static.input-sm { | |
| padding-left: 0; | |
| padding-right: 0; | |
| } | |
| .input-sm { | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| select.input-sm { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| textarea.input-sm, | |
| select[multiple].input-sm { | |
| height: auto; | |
| } | |
| .form-group-sm .form-control { | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| .form-group-sm select.form-control { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| .form-group-sm textarea.form-control, | |
| .form-group-sm select[multiple].form-control { | |
| height: auto; | |
| } | |
| .form-group-sm .form-control-static { | |
| height: 30px; | |
| min-height: 30px; | |
| padding: 6px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| } | |
| .input-lg { | |
| height: 45px; | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| border-radius: 3px; | |
| } | |
| select.input-lg { | |
| height: 45px; | |
| line-height: 45px; | |
| } | |
| textarea.input-lg, | |
| select[multiple].input-lg { | |
| height: auto; | |
| } | |
| .form-group-lg .form-control { | |
| height: 45px; | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| border-radius: 3px; | |
| } | |
| .form-group-lg select.form-control { | |
| height: 45px; | |
| line-height: 45px; | |
| } | |
| .form-group-lg textarea.form-control, | |
| .form-group-lg select[multiple].form-control { | |
| height: auto; | |
| } | |
| .form-group-lg .form-control-static { | |
| height: 45px; | |
| min-height: 35px; | |
| padding: 11px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| } | |
| .has-feedback { | |
| position: relative; | |
| } | |
| .has-feedback .form-control { | |
| padding-right: 40px; | |
| } | |
| .form-control-feedback { | |
| position: absolute; | |
| top: 0; | |
| right: 0; | |
| z-index: 2; | |
| display: block; | |
| width: 32px; | |
| height: 32px; | |
| line-height: 32px; | |
| text-align: center; | |
| pointer-events: none; | |
| } | |
| .input-lg + .form-control-feedback, | |
| .input-group-lg + .form-control-feedback, | |
| .form-group-lg .form-control + .form-control-feedback { | |
| width: 45px; | |
| height: 45px; | |
| line-height: 45px; | |
| } | |
| .input-sm + .form-control-feedback, | |
| .input-group-sm + .form-control-feedback, | |
| .form-group-sm .form-control + .form-control-feedback { | |
| width: 30px; | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| .has-success .help-block, | |
| .has-success .control-label, | |
| .has-success .radio, | |
| .has-success .checkbox, | |
| .has-success .radio-inline, | |
| .has-success .checkbox-inline, | |
| .has-success.radio label, | |
| .has-success.checkbox label, | |
| .has-success.radio-inline label, | |
| .has-success.checkbox-inline label { | |
| color: #3c763d; | |
| } | |
| .has-success .form-control { | |
| border-color: #3c763d; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| } | |
| .has-success .form-control:focus { | |
| border-color: #2b542c; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; | |
| } | |
| .has-success .input-group-addon { | |
| color: #3c763d; | |
| border-color: #3c763d; | |
| background-color: #dff0d8; | |
| } | |
| .has-success .form-control-feedback { | |
| color: #3c763d; | |
| } | |
| .has-warning .help-block, | |
| .has-warning .control-label, | |
| .has-warning .radio, | |
| .has-warning .checkbox, | |
| .has-warning .radio-inline, | |
| .has-warning .checkbox-inline, | |
| .has-warning.radio label, | |
| .has-warning.checkbox label, | |
| .has-warning.radio-inline label, | |
| .has-warning.checkbox-inline label { | |
| color: #8a6d3b; | |
| } | |
| .has-warning .form-control { | |
| border-color: #8a6d3b; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| } | |
| .has-warning .form-control:focus { | |
| border-color: #66512c; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; | |
| } | |
| .has-warning .input-group-addon { | |
| color: #8a6d3b; | |
| border-color: #8a6d3b; | |
| background-color: #fcf8e3; | |
| } | |
| .has-warning .form-control-feedback { | |
| color: #8a6d3b; | |
| } | |
| .has-error .help-block, | |
| .has-error .control-label, | |
| .has-error .radio, | |
| .has-error .checkbox, | |
| .has-error .radio-inline, | |
| .has-error .checkbox-inline, | |
| .has-error.radio label, | |
| .has-error.checkbox label, | |
| .has-error.radio-inline label, | |
| .has-error.checkbox-inline label { | |
| color: #a94442; | |
| } | |
| .has-error .form-control { | |
| border-color: #a94442; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| } | |
| .has-error .form-control:focus { | |
| border-color: #843534; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; | |
| } | |
| .has-error .input-group-addon { | |
| color: #a94442; | |
| border-color: #a94442; | |
| background-color: #f2dede; | |
| } | |
| .has-error .form-control-feedback { | |
| color: #a94442; | |
| } | |
| .has-feedback label ~ .form-control-feedback { | |
| top: 23px; | |
| } | |
| .has-feedback label.sr-only ~ .form-control-feedback { | |
| top: 0; | |
| } | |
| .help-block { | |
| display: block; | |
| margin-top: 5px; | |
| margin-bottom: 10px; | |
| color: #404040; | |
| } | |
| @media (min-width: 768px) { | |
| .form-inline .form-group { | |
| display: inline-block; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .form-inline .form-control { | |
| display: inline-block; | |
| width: auto; | |
| vertical-align: middle; | |
| } | |
| .form-inline .form-control-static { | |
| display: inline-block; | |
| } | |
| .form-inline .input-group { | |
| display: inline-table; | |
| vertical-align: middle; | |
| } | |
| .form-inline .input-group .input-group-addon, | |
| .form-inline .input-group .input-group-btn, | |
| .form-inline .input-group .form-control { | |
| width: auto; | |
| } | |
| .form-inline .input-group > .form-control { | |
| width: 100%; | |
| } | |
| .form-inline .control-label { | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .form-inline .radio, | |
| .form-inline .checkbox { | |
| display: inline-block; | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .form-inline .radio label, | |
| .form-inline .checkbox label { | |
| padding-left: 0; | |
| } | |
| .form-inline .radio input[type="radio"], | |
| .form-inline .checkbox input[type="checkbox"] { | |
| position: relative; | |
| margin-left: 0; | |
| } | |
| .form-inline .has-feedback .form-control-feedback { | |
| top: 0; | |
| } | |
| } | |
| .form-horizontal .radio, | |
| .form-horizontal .checkbox, | |
| .form-horizontal .radio-inline, | |
| .form-horizontal .checkbox-inline { | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| padding-top: 7px; | |
| } | |
| .form-horizontal .radio, | |
| .form-horizontal .checkbox { | |
| min-height: 25px; | |
| } | |
| .form-horizontal .form-group { | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| } | |
| @media (min-width: 768px) { | |
| .form-horizontal .control-label { | |
| text-align: right; | |
| margin-bottom: 0; | |
| padding-top: 7px; | |
| } | |
| } | |
| .form-horizontal .has-feedback .form-control-feedback { | |
| right: 0px; | |
| } | |
| @media (min-width: 768px) { | |
| .form-horizontal .form-group-lg .control-label { | |
| padding-top: 11px; | |
| font-size: 17px; | |
| } | |
| } | |
| @media (min-width: 768px) { | |
| .form-horizontal .form-group-sm .control-label { | |
| padding-top: 6px; | |
| font-size: 12px; | |
| } | |
| } | |
| .btn { | |
| display: inline-block; | |
| margin-bottom: 0; | |
| font-weight: normal; | |
| text-align: center; | |
| vertical-align: middle; | |
| touch-action: manipulation; | |
| cursor: pointer; | |
| background-image: none; | |
| border: 1px solid transparent; | |
| white-space: nowrap; | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| border-radius: 2px; | |
| -webkit-user-select: none; | |
| -moz-user-select: none; | |
| -ms-user-select: none; | |
| user-select: none; | |
| } | |
| .btn:focus, | |
| .btn:active:focus, | |
| .btn.active:focus, | |
| .btn.focus, | |
| .btn:active.focus, | |
| .btn.active.focus { | |
| outline: 5px auto -webkit-focus-ring-color; | |
| outline-offset: -2px; | |
| } | |
| .btn:hover, | |
| .btn:focus, | |
| .btn.focus { | |
| color: #333; | |
| text-decoration: none; | |
| } | |
| .btn:active, | |
| .btn.active { | |
| outline: 0; | |
| background-image: none; | |
| -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |
| box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |
| } | |
| .btn.disabled, | |
| .btn[disabled], | |
| fieldset[disabled] .btn { | |
| cursor: not-allowed; | |
| opacity: 0.65; | |
| filter: alpha(opacity=65); | |
| -webkit-box-shadow: none; | |
| box-shadow: none; | |
| } | |
| a.btn.disabled, | |
| fieldset[disabled] a.btn { | |
| pointer-events: none; | |
| } | |
| .btn-default { | |
| color: #333; | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| .btn-default:focus, | |
| .btn-default.focus { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #8c8c8c; | |
| } | |
| .btn-default:hover { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| .btn-default:active, | |
| .btn-default.active, | |
| .open > .dropdown-toggle.btn-default { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| .btn-default:active:hover, | |
| .btn-default.active:hover, | |
| .open > .dropdown-toggle.btn-default:hover, | |
| .btn-default:active:focus, | |
| .btn-default.active:focus, | |
| .open > .dropdown-toggle.btn-default:focus, | |
| .btn-default:active.focus, | |
| .btn-default.active.focus, | |
| .open > .dropdown-toggle.btn-default.focus { | |
| color: #333; | |
| background-color: #d4d4d4; | |
| border-color: #8c8c8c; | |
| } | |
| .btn-default:active, | |
| .btn-default.active, | |
| .open > .dropdown-toggle.btn-default { | |
| background-image: none; | |
| } | |
| .btn-default.disabled:hover, | |
| .btn-default[disabled]:hover, | |
| fieldset[disabled] .btn-default:hover, | |
| .btn-default.disabled:focus, | |
| .btn-default[disabled]:focus, | |
| fieldset[disabled] .btn-default:focus, | |
| .btn-default.disabled.focus, | |
| .btn-default[disabled].focus, | |
| fieldset[disabled] .btn-default.focus { | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| .btn-default .badge { | |
| color: #fff; | |
| background-color: #333; | |
| } | |
| .btn-primary { | |
| color: #fff; | |
| background-color: #337ab7; | |
| border-color: #2e6da4; | |
| } | |
| .btn-primary:focus, | |
| .btn-primary.focus { | |
| color: #fff; | |
| background-color: #286090; | |
| border-color: #122b40; | |
| } | |
| .btn-primary:hover { | |
| color: #fff; | |
| background-color: #286090; | |
| border-color: #204d74; | |
| } | |
| .btn-primary:active, | |
| .btn-primary.active, | |
| .open > .dropdown-toggle.btn-primary { | |
| color: #fff; | |
| background-color: #286090; | |
| border-color: #204d74; | |
| } | |
| .btn-primary:active:hover, | |
| .btn-primary.active:hover, | |
| .open > .dropdown-toggle.btn-primary:hover, | |
| .btn-primary:active:focus, | |
| .btn-primary.active:focus, | |
| .open > .dropdown-toggle.btn-primary:focus, | |
| .btn-primary:active.focus, | |
| .btn-primary.active.focus, | |
| .open > .dropdown-toggle.btn-primary.focus { | |
| color: #fff; | |
| background-color: #204d74; | |
| border-color: #122b40; | |
| } | |
| .btn-primary:active, | |
| .btn-primary.active, | |
| .open > .dropdown-toggle.btn-primary { | |
| background-image: none; | |
| } | |
| .btn-primary.disabled:hover, | |
| .btn-primary[disabled]:hover, | |
| fieldset[disabled] .btn-primary:hover, | |
| .btn-primary.disabled:focus, | |
| .btn-primary[disabled]:focus, | |
| fieldset[disabled] .btn-primary:focus, | |
| .btn-primary.disabled.focus, | |
| .btn-primary[disabled].focus, | |
| fieldset[disabled] .btn-primary.focus { | |
| background-color: #337ab7; | |
| border-color: #2e6da4; | |
| } | |
| .btn-primary .badge { | |
| color: #337ab7; | |
| background-color: #fff; | |
| } | |
| .btn-success { | |
| color: #fff; | |
| background-color: #5cb85c; | |
| border-color: #4cae4c; | |
| } | |
| .btn-success:focus, | |
| .btn-success.focus { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #255625; | |
| } | |
| .btn-success:hover { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #398439; | |
| } | |
| .btn-success:active, | |
| .btn-success.active, | |
| .open > .dropdown-toggle.btn-success { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #398439; | |
| } | |
| .btn-success:active:hover, | |
| .btn-success.active:hover, | |
| .open > .dropdown-toggle.btn-success:hover, | |
| .btn-success:active:focus, | |
| .btn-success.active:focus, | |
| .open > .dropdown-toggle.btn-success:focus, | |
| .btn-success:active.focus, | |
| .btn-success.active.focus, | |
| .open > .dropdown-toggle.btn-success.focus { | |
| color: #fff; | |
| background-color: #398439; | |
| border-color: #255625; | |
| } | |
| .btn-success:active, | |
| .btn-success.active, | |
| .open > .dropdown-toggle.btn-success { | |
| background-image: none; | |
| } | |
| .btn-success.disabled:hover, | |
| .btn-success[disabled]:hover, | |
| fieldset[disabled] .btn-success:hover, | |
| .btn-success.disabled:focus, | |
| .btn-success[disabled]:focus, | |
| fieldset[disabled] .btn-success:focus, | |
| .btn-success.disabled.focus, | |
| .btn-success[disabled].focus, | |
| fieldset[disabled] .btn-success.focus { | |
| background-color: #5cb85c; | |
| border-color: #4cae4c; | |
| } | |
| .btn-success .badge { | |
| color: #5cb85c; | |
| background-color: #fff; | |
| } | |
| .btn-info { | |
| color: #fff; | |
| background-color: #5bc0de; | |
| border-color: #46b8da; | |
| } | |
| .btn-info:focus, | |
| .btn-info.focus { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #1b6d85; | |
| } | |
| .btn-info:hover { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #269abc; | |
| } | |
| .btn-info:active, | |
| .btn-info.active, | |
| .open > .dropdown-toggle.btn-info { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #269abc; | |
| } | |
| .btn-info:active:hover, | |
| .btn-info.active:hover, | |
| .open > .dropdown-toggle.btn-info:hover, | |
| .btn-info:active:focus, | |
| .btn-info.active:focus, | |
| .open > .dropdown-toggle.btn-info:focus, | |
| .btn-info:active.focus, | |
| .btn-info.active.focus, | |
| .open > .dropdown-toggle.btn-info.focus { | |
| color: #fff; | |
| background-color: #269abc; | |
| border-color: #1b6d85; | |
| } | |
| .btn-info:active, | |
| .btn-info.active, | |
| .open > .dropdown-toggle.btn-info { | |
| background-image: none; | |
| } | |
| .btn-info.disabled:hover, | |
| .btn-info[disabled]:hover, | |
| fieldset[disabled] .btn-info:hover, | |
| .btn-info.disabled:focus, | |
| .btn-info[disabled]:focus, | |
| fieldset[disabled] .btn-info:focus, | |
| .btn-info.disabled.focus, | |
| .btn-info[disabled].focus, | |
| fieldset[disabled] .btn-info.focus { | |
| background-color: #5bc0de; | |
| border-color: #46b8da; | |
| } | |
| .btn-info .badge { | |
| color: #5bc0de; | |
| background-color: #fff; | |
| } | |
| .btn-warning { | |
| color: #fff; | |
| background-color: #f0ad4e; | |
| border-color: #eea236; | |
| } | |
| .btn-warning:focus, | |
| .btn-warning.focus { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #985f0d; | |
| } | |
| .btn-warning:hover { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #d58512; | |
| } | |
| .btn-warning:active, | |
| .btn-warning.active, | |
| .open > .dropdown-toggle.btn-warning { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #d58512; | |
| } | |
| .btn-warning:active:hover, | |
| .btn-warning.active:hover, | |
| .open > .dropdown-toggle.btn-warning:hover, | |
| .btn-warning:active:focus, | |
| .btn-warning.active:focus, | |
| .open > .dropdown-toggle.btn-warning:focus, | |
| .btn-warning:active.focus, | |
| .btn-warning.active.focus, | |
| .open > .dropdown-toggle.btn-warning.focus { | |
| color: #fff; | |
| background-color: #d58512; | |
| border-color: #985f0d; | |
| } | |
| .btn-warning:active, | |
| .btn-warning.active, | |
| .open > .dropdown-toggle.btn-warning { | |
| background-image: none; | |
| } | |
| .btn-warning.disabled:hover, | |
| .btn-warning[disabled]:hover, | |
| fieldset[disabled] .btn-warning:hover, | |
| .btn-warning.disabled:focus, | |
| .btn-warning[disabled]:focus, | |
| fieldset[disabled] .btn-warning:focus, | |
| .btn-warning.disabled.focus, | |
| .btn-warning[disabled].focus, | |
| fieldset[disabled] .btn-warning.focus { | |
| background-color: #f0ad4e; | |
| border-color: #eea236; | |
| } | |
| .btn-warning .badge { | |
| color: #f0ad4e; | |
| background-color: #fff; | |
| } | |
| .btn-danger { | |
| color: #fff; | |
| background-color: #d9534f; | |
| border-color: #d43f3a; | |
| } | |
| .btn-danger:focus, | |
| .btn-danger.focus { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #761c19; | |
| } | |
| .btn-danger:hover { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #ac2925; | |
| } | |
| .btn-danger:active, | |
| .btn-danger.active, | |
| .open > .dropdown-toggle.btn-danger { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #ac2925; | |
| } | |
| .btn-danger:active:hover, | |
| .btn-danger.active:hover, | |
| .open > .dropdown-toggle.btn-danger:hover, | |
| .btn-danger:active:focus, | |
| .btn-danger.active:focus, | |
| .open > .dropdown-toggle.btn-danger:focus, | |
| .btn-danger:active.focus, | |
| .btn-danger.active.focus, | |
| .open > .dropdown-toggle.btn-danger.focus { | |
| color: #fff; | |
| background-color: #ac2925; | |
| border-color: #761c19; | |
| } | |
| .btn-danger:active, | |
| .btn-danger.active, | |
| .open > .dropdown-toggle.btn-danger { | |
| background-image: none; | |
| } | |
| .btn-danger.disabled:hover, | |
| .btn-danger[disabled]:hover, | |
| fieldset[disabled] .btn-danger:hover, | |
| .btn-danger.disabled:focus, | |
| .btn-danger[disabled]:focus, | |
| fieldset[disabled] .btn-danger:focus, | |
| .btn-danger.disabled.focus, | |
| .btn-danger[disabled].focus, | |
| fieldset[disabled] .btn-danger.focus { | |
| background-color: #d9534f; | |
| border-color: #d43f3a; | |
| } | |
| .btn-danger .badge { | |
| color: #d9534f; | |
| background-color: #fff; | |
| } | |
| .btn-link { | |
| color: #337ab7; | |
| font-weight: normal; | |
| border-radius: 0; | |
| } | |
| .btn-link, | |
| .btn-link:active, | |
| .btn-link.active, | |
| .btn-link[disabled], | |
| fieldset[disabled] .btn-link { | |
| background-color: transparent; | |
| -webkit-box-shadow: none; | |
| box-shadow: none; | |
| } | |
| .btn-link, | |
| .btn-link:hover, | |
| .btn-link:focus, | |
| .btn-link:active { | |
| border-color: transparent; | |
| } | |
| .btn-link:hover, | |
| .btn-link:focus { | |
| color: #23527c; | |
| text-decoration: underline; | |
| background-color: transparent; | |
| } | |
| .btn-link[disabled]:hover, | |
| fieldset[disabled] .btn-link:hover, | |
| .btn-link[disabled]:focus, | |
| fieldset[disabled] .btn-link:focus { | |
| color: #777777; | |
| text-decoration: none; | |
| } | |
| .btn-lg, | |
| .btn-group-lg > .btn { | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| border-radius: 3px; | |
| } | |
| .btn-sm, | |
| .btn-group-sm > .btn { | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| .btn-xs, | |
| .btn-group-xs > .btn { | |
| padding: 1px 5px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| .btn-block { | |
| display: block; | |
| width: 100%; | |
| } | |
| .btn-block + .btn-block { | |
| margin-top: 5px; | |
| } | |
| input[type="submit"].btn-block, | |
| input[type="reset"].btn-block, | |
| input[type="button"].btn-block { | |
| width: 100%; | |
| } | |
| .fade { | |
| opacity: 0; | |
| -webkit-transition: opacity 0.15s linear; | |
| -o-transition: opacity 0.15s linear; | |
| transition: opacity 0.15s linear; | |
| } | |
| .fade.in { | |
| opacity: 1; | |
| } | |
| .collapse { | |
| display: none; | |
| } | |
| .collapse.in { | |
| display: block; | |
| } | |
| tr.collapse.in { | |
| display: table-row; | |
| } | |
| tbody.collapse.in { | |
| display: table-row-group; | |
| } | |
| .collapsing { | |
| position: relative; | |
| height: 0; | |
| overflow: hidden; | |
| -webkit-transition-property: height, visibility; | |
| transition-property: height, visibility; | |
| -webkit-transition-duration: 0.35s; | |
| transition-duration: 0.35s; | |
| -webkit-transition-timing-function: ease; | |
| transition-timing-function: ease; | |
| } | |
| .caret { | |
| display: inline-block; | |
| width: 0; | |
| height: 0; | |
| margin-left: 2px; | |
| vertical-align: middle; | |
| border-top: 4px dashed; | |
| border-top: 4px solid \9; | |
| border-right: 4px solid transparent; | |
| border-left: 4px solid transparent; | |
| } | |
| .dropup, | |
| .dropdown { | |
| position: relative; | |
| } | |
| .dropdown-toggle:focus { | |
| outline: 0; | |
| } | |
| .dropdown-menu { | |
| position: absolute; | |
| top: 100%; | |
| left: 0; | |
| z-index: 1000; | |
| display: none; | |
| float: left; | |
| min-width: 160px; | |
| padding: 5px 0; | |
| margin: 2px 0 0; | |
| list-style: none; | |
| font-size: 13px; | |
| text-align: left; | |
| background-color: #fff; | |
| border: 1px solid #ccc; | |
| border: 1px solid rgba(0, 0, 0, 0.15); | |
| border-radius: 2px; | |
| -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); | |
| box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); | |
| background-clip: padding-box; | |
| } | |
| .dropdown-menu.pull-right { | |
| right: 0; | |
| left: auto; | |
| } | |
| .dropdown-menu .divider { | |
| height: 1px; | |
| margin: 8px 0; | |
| overflow: hidden; | |
| background-color: #e5e5e5; | |
| } | |
| .dropdown-menu > li > a { | |
| display: block; | |
| padding: 3px 20px; | |
| clear: both; | |
| font-weight: normal; | |
| line-height: 1.42857143; | |
| color: #333333; | |
| white-space: nowrap; | |
| } | |
| .dropdown-menu > li > a:hover, | |
| .dropdown-menu > li > a:focus { | |
| text-decoration: none; | |
| color: #262626; | |
| background-color: #f5f5f5; | |
| } | |
| .dropdown-menu > .active > a, | |
| .dropdown-menu > .active > a:hover, | |
| .dropdown-menu > .active > a:focus { | |
| color: #fff; | |
| text-decoration: none; | |
| outline: 0; | |
| background-color: #337ab7; | |
| } | |
| .dropdown-menu > .disabled > a, | |
| .dropdown-menu > .disabled > a:hover, | |
| .dropdown-menu > .disabled > a:focus { | |
| color: #777777; | |
| } | |
| .dropdown-menu > .disabled > a:hover, | |
| .dropdown-menu > .disabled > a:focus { | |
| text-decoration: none; | |
| background-color: transparent; | |
| background-image: none; | |
| filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); | |
| cursor: not-allowed; | |
| } | |
| .open > .dropdown-menu { | |
| display: block; | |
| } | |
| .open > a { | |
| outline: 0; | |
| } | |
| .dropdown-menu-right { | |
| left: auto; | |
| right: 0; | |
| } | |
| .dropdown-menu-left { | |
| left: 0; | |
| right: auto; | |
| } | |
| .dropdown-header { | |
| display: block; | |
| padding: 3px 20px; | |
| font-size: 12px; | |
| line-height: 1.42857143; | |
| color: #777777; | |
| white-space: nowrap; | |
| } | |
| .dropdown-backdrop { | |
| position: fixed; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| top: 0; | |
| z-index: 990; | |
| } | |
| .pull-right > .dropdown-menu { | |
| right: 0; | |
| left: auto; | |
| } | |
| .dropup .caret, | |
| .navbar-fixed-bottom .dropdown .caret { | |
| border-top: 0; | |
| border-bottom: 4px dashed; | |
| border-bottom: 4px solid \9; | |
| content: ""; | |
| } | |
| .dropup .dropdown-menu, | |
| .navbar-fixed-bottom .dropdown .dropdown-menu { | |
| top: auto; | |
| bottom: 100%; | |
| margin-bottom: 2px; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-right .dropdown-menu { | |
| left: auto; | |
| right: 0; | |
| } | |
| .navbar-right .dropdown-menu-left { | |
| left: 0; | |
| right: auto; | |
| } | |
| } | |
| .btn-group, | |
| .btn-group-vertical { | |
| position: relative; | |
| display: inline-block; | |
| vertical-align: middle; | |
| } | |
| .btn-group > .btn, | |
| .btn-group-vertical > .btn { | |
| position: relative; | |
| float: left; | |
| } | |
| .btn-group > .btn:hover, | |
| .btn-group-vertical > .btn:hover, | |
| .btn-group > .btn:focus, | |
| .btn-group-vertical > .btn:focus, | |
| .btn-group > .btn:active, | |
| .btn-group-vertical > .btn:active, | |
| .btn-group > .btn.active, | |
| .btn-group-vertical > .btn.active { | |
| z-index: 2; | |
| } | |
| .btn-group .btn + .btn, | |
| .btn-group .btn + .btn-group, | |
| .btn-group .btn-group + .btn, | |
| .btn-group .btn-group + .btn-group { | |
| margin-left: -1px; | |
| } | |
| .btn-toolbar { | |
| margin-left: -5px; | |
| } | |
| .btn-toolbar .btn, | |
| .btn-toolbar .btn-group, | |
| .btn-toolbar .input-group { | |
| float: left; | |
| } | |
| .btn-toolbar > .btn, | |
| .btn-toolbar > .btn-group, | |
| .btn-toolbar > .input-group { | |
| margin-left: 5px; | |
| } | |
| .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { | |
| border-radius: 0; | |
| } | |
| .btn-group > .btn:first-child { | |
| margin-left: 0; | |
| } | |
| .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { | |
| border-bottom-right-radius: 0; | |
| border-top-right-radius: 0; | |
| } | |
| .btn-group > .btn:last-child:not(:first-child), | |
| .btn-group > .dropdown-toggle:not(:first-child) { | |
| border-bottom-left-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .btn-group > .btn-group { | |
| float: left; | |
| } | |
| .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { | |
| border-radius: 0; | |
| } | |
| .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, | |
| .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { | |
| border-bottom-right-radius: 0; | |
| border-top-right-radius: 0; | |
| } | |
| .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { | |
| border-bottom-left-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .btn-group .dropdown-toggle:active, | |
| .btn-group.open .dropdown-toggle { | |
| outline: 0; | |
| } | |
| .btn-group > .btn + .dropdown-toggle { | |
| padding-left: 8px; | |
| padding-right: 8px; | |
| } | |
| .btn-group > .btn-lg + .dropdown-toggle { | |
| padding-left: 12px; | |
| padding-right: 12px; | |
| } | |
| .btn-group.open .dropdown-toggle { | |
| -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |
| box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); | |
| } | |
| .btn-group.open .dropdown-toggle.btn-link { | |
| -webkit-box-shadow: none; | |
| box-shadow: none; | |
| } | |
| .btn .caret { | |
| margin-left: 0; | |
| } | |
| .btn-lg .caret { | |
| border-width: 5px 5px 0; | |
| border-bottom-width: 0; | |
| } | |
| .dropup .btn-lg .caret { | |
| border-width: 0 5px 5px; | |
| } | |
| .btn-group-vertical > .btn, | |
| .btn-group-vertical > .btn-group, | |
| .btn-group-vertical > .btn-group > .btn { | |
| display: block; | |
| float: none; | |
| width: 100%; | |
| max-width: 100%; | |
| } | |
| .btn-group-vertical > .btn-group > .btn { | |
| float: none; | |
| } | |
| .btn-group-vertical > .btn + .btn, | |
| .btn-group-vertical > .btn + .btn-group, | |
| .btn-group-vertical > .btn-group + .btn, | |
| .btn-group-vertical > .btn-group + .btn-group { | |
| margin-top: -1px; | |
| margin-left: 0; | |
| } | |
| .btn-group-vertical > .btn:not(:first-child):not(:last-child) { | |
| border-radius: 0; | |
| } | |
| .btn-group-vertical > .btn:first-child:not(:last-child) { | |
| border-top-right-radius: 2px; | |
| border-top-left-radius: 2px; | |
| border-bottom-right-radius: 0; | |
| border-bottom-left-radius: 0; | |
| } | |
| .btn-group-vertical > .btn:last-child:not(:first-child) { | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| border-bottom-right-radius: 2px; | |
| border-bottom-left-radius: 2px; | |
| } | |
| .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { | |
| border-radius: 0; | |
| } | |
| .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, | |
| .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { | |
| border-bottom-right-radius: 0; | |
| border-bottom-left-radius: 0; | |
| } | |
| .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .btn-group-justified { | |
| display: table; | |
| width: 100%; | |
| table-layout: fixed; | |
| border-collapse: separate; | |
| } | |
| .btn-group-justified > .btn, | |
| .btn-group-justified > .btn-group { | |
| float: none; | |
| display: table-cell; | |
| width: 1%; | |
| } | |
| .btn-group-justified > .btn-group .btn { | |
| width: 100%; | |
| } | |
| .btn-group-justified > .btn-group .dropdown-menu { | |
| left: auto; | |
| } | |
| [data-toggle="buttons"] > .btn input[type="radio"], | |
| [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], | |
| [data-toggle="buttons"] > .btn input[type="checkbox"], | |
| [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { | |
| position: absolute; | |
| clip: rect(0, 0, 0, 0); | |
| pointer-events: none; | |
| } | |
| .input-group { | |
| position: relative; | |
| display: table; | |
| border-collapse: separate; | |
| } | |
| .input-group[class*="col-"] { | |
| float: none; | |
| padding-left: 0; | |
| padding-right: 0; | |
| } | |
| .input-group .form-control { | |
| position: relative; | |
| z-index: 2; | |
| float: left; | |
| width: 100%; | |
| margin-bottom: 0; | |
| } | |
| .input-group .form-control:focus { | |
| z-index: 3; | |
| } | |
| .input-group-lg > .form-control, | |
| .input-group-lg > .input-group-addon, | |
| .input-group-lg > .input-group-btn > .btn { | |
| height: 45px; | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| border-radius: 3px; | |
| } | |
| select.input-group-lg > .form-control, | |
| select.input-group-lg > .input-group-addon, | |
| select.input-group-lg > .input-group-btn > .btn { | |
| height: 45px; | |
| line-height: 45px; | |
| } | |
| textarea.input-group-lg > .form-control, | |
| textarea.input-group-lg > .input-group-addon, | |
| textarea.input-group-lg > .input-group-btn > .btn, | |
| select[multiple].input-group-lg > .form-control, | |
| select[multiple].input-group-lg > .input-group-addon, | |
| select[multiple].input-group-lg > .input-group-btn > .btn { | |
| height: auto; | |
| } | |
| .input-group-sm > .form-control, | |
| .input-group-sm > .input-group-addon, | |
| .input-group-sm > .input-group-btn > .btn { | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| } | |
| select.input-group-sm > .form-control, | |
| select.input-group-sm > .input-group-addon, | |
| select.input-group-sm > .input-group-btn > .btn { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| textarea.input-group-sm > .form-control, | |
| textarea.input-group-sm > .input-group-addon, | |
| textarea.input-group-sm > .input-group-btn > .btn, | |
| select[multiple].input-group-sm > .form-control, | |
| select[multiple].input-group-sm > .input-group-addon, | |
| select[multiple].input-group-sm > .input-group-btn > .btn { | |
| height: auto; | |
| } | |
| .input-group-addon, | |
| .input-group-btn, | |
| .input-group .form-control { | |
| display: table-cell; | |
| } | |
| .input-group-addon:not(:first-child):not(:last-child), | |
| .input-group-btn:not(:first-child):not(:last-child), | |
| .input-group .form-control:not(:first-child):not(:last-child) { | |
| border-radius: 0; | |
| } | |
| .input-group-addon, | |
| .input-group-btn { | |
| width: 1%; | |
| white-space: nowrap; | |
| vertical-align: middle; | |
| } | |
| .input-group-addon { | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| font-weight: normal; | |
| line-height: 1; | |
| color: #555555; | |
| text-align: center; | |
| background-color: #eeeeee; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| } | |
| .input-group-addon.input-sm { | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| border-radius: 1px; | |
| } | |
| .input-group-addon.input-lg { | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| border-radius: 3px; | |
| } | |
| .input-group-addon input[type="radio"], | |
| .input-group-addon input[type="checkbox"] { | |
| margin-top: 0; | |
| } | |
| .input-group .form-control:first-child, | |
| .input-group-addon:first-child, | |
| .input-group-btn:first-child > .btn, | |
| .input-group-btn:first-child > .btn-group > .btn, | |
| .input-group-btn:first-child > .dropdown-toggle, | |
| .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), | |
| .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { | |
| border-bottom-right-radius: 0; | |
| border-top-right-radius: 0; | |
| } | |
| .input-group-addon:first-child { | |
| border-right: 0; | |
| } | |
| .input-group .form-control:last-child, | |
| .input-group-addon:last-child, | |
| .input-group-btn:last-child > .btn, | |
| .input-group-btn:last-child > .btn-group > .btn, | |
| .input-group-btn:last-child > .dropdown-toggle, | |
| .input-group-btn:first-child > .btn:not(:first-child), | |
| .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { | |
| border-bottom-left-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .input-group-addon:last-child { | |
| border-left: 0; | |
| } | |
| .input-group-btn { | |
| position: relative; | |
| font-size: 0; | |
| white-space: nowrap; | |
| } | |
| .input-group-btn > .btn { | |
| position: relative; | |
| } | |
| .input-group-btn > .btn + .btn { | |
| margin-left: -1px; | |
| } | |
| .input-group-btn > .btn:hover, | |
| .input-group-btn > .btn:focus, | |
| .input-group-btn > .btn:active { | |
| z-index: 2; | |
| } | |
| .input-group-btn:first-child > .btn, | |
| .input-group-btn:first-child > .btn-group { | |
| margin-right: -1px; | |
| } | |
| .input-group-btn:last-child > .btn, | |
| .input-group-btn:last-child > .btn-group { | |
| z-index: 2; | |
| margin-left: -1px; | |
| } | |
| .nav { | |
| margin-bottom: 0; | |
| padding-left: 0; | |
| list-style: none; | |
| } | |
| .nav > li { | |
| position: relative; | |
| display: block; | |
| } | |
| .nav > li > a { | |
| position: relative; | |
| display: block; | |
| padding: 10px 15px; | |
| } | |
| .nav > li > a:hover, | |
| .nav > li > a:focus { | |
| text-decoration: none; | |
| background-color: #eeeeee; | |
| } | |
| .nav > li.disabled > a { | |
| color: #777777; | |
| } | |
| .nav > li.disabled > a:hover, | |
| .nav > li.disabled > a:focus { | |
| color: #777777; | |
| text-decoration: none; | |
| background-color: transparent; | |
| cursor: not-allowed; | |
| } | |
| .nav .open > a, | |
| .nav .open > a:hover, | |
| .nav .open > a:focus { | |
| background-color: #eeeeee; | |
| border-color: #337ab7; | |
| } | |
| .nav .nav-divider { | |
| height: 1px; | |
| margin: 8px 0; | |
| overflow: hidden; | |
| background-color: #e5e5e5; | |
| } | |
| .nav > li > a > img { | |
| max-width: none; | |
| } | |
| .nav-tabs { | |
| border-bottom: 1px solid #ddd; | |
| } | |
| .nav-tabs > li { | |
| float: left; | |
| margin-bottom: -1px; | |
| } | |
| .nav-tabs > li > a { | |
| margin-right: 2px; | |
| line-height: 1.42857143; | |
| border: 1px solid transparent; | |
| border-radius: 2px 2px 0 0; | |
| } | |
| .nav-tabs > li > a:hover { | |
| border-color: #eeeeee #eeeeee #ddd; | |
| } | |
| .nav-tabs > li.active > a, | |
| .nav-tabs > li.active > a:hover, | |
| .nav-tabs > li.active > a:focus { | |
| color: #555555; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| border-bottom-color: transparent; | |
| cursor: default; | |
| } | |
| .nav-tabs.nav-justified { | |
| width: 100%; | |
| border-bottom: 0; | |
| } | |
| .nav-tabs.nav-justified > li { | |
| float: none; | |
| } | |
| .nav-tabs.nav-justified > li > a { | |
| text-align: center; | |
| margin-bottom: 5px; | |
| } | |
| .nav-tabs.nav-justified > .dropdown .dropdown-menu { | |
| top: auto; | |
| left: auto; | |
| } | |
| @media (min-width: 768px) { | |
| .nav-tabs.nav-justified > li { | |
| display: table-cell; | |
| width: 1%; | |
| } | |
| .nav-tabs.nav-justified > li > a { | |
| margin-bottom: 0; | |
| } | |
| } | |
| .nav-tabs.nav-justified > li > a { | |
| margin-right: 0; | |
| border-radius: 2px; | |
| } | |
| .nav-tabs.nav-justified > .active > a, | |
| .nav-tabs.nav-justified > .active > a:hover, | |
| .nav-tabs.nav-justified > .active > a:focus { | |
| border: 1px solid #ddd; | |
| } | |
| @media (min-width: 768px) { | |
| .nav-tabs.nav-justified > li > a { | |
| border-bottom: 1px solid #ddd; | |
| border-radius: 2px 2px 0 0; | |
| } | |
| .nav-tabs.nav-justified > .active > a, | |
| .nav-tabs.nav-justified > .active > a:hover, | |
| .nav-tabs.nav-justified > .active > a:focus { | |
| border-bottom-color: #fff; | |
| } | |
| } | |
| .nav-pills > li { | |
| float: left; | |
| } | |
| .nav-pills > li > a { | |
| border-radius: 2px; | |
| } | |
| .nav-pills > li + li { | |
| margin-left: 2px; | |
| } | |
| .nav-pills > li.active > a, | |
| .nav-pills > li.active > a:hover, | |
| .nav-pills > li.active > a:focus { | |
| color: #fff; | |
| background-color: #337ab7; | |
| } | |
| .nav-stacked > li { | |
| float: none; | |
| } | |
| .nav-stacked > li + li { | |
| margin-top: 2px; | |
| margin-left: 0; | |
| } | |
| .nav-justified { | |
| width: 100%; | |
| } | |
| .nav-justified > li { | |
| float: none; | |
| } | |
| .nav-justified > li > a { | |
| text-align: center; | |
| margin-bottom: 5px; | |
| } | |
| .nav-justified > .dropdown .dropdown-menu { | |
| top: auto; | |
| left: auto; | |
| } | |
| @media (min-width: 768px) { | |
| .nav-justified > li { | |
| display: table-cell; | |
| width: 1%; | |
| } | |
| .nav-justified > li > a { | |
| margin-bottom: 0; | |
| } | |
| } | |
| .nav-tabs-justified { | |
| border-bottom: 0; | |
| } | |
| .nav-tabs-justified > li > a { | |
| margin-right: 0; | |
| border-radius: 2px; | |
| } | |
| .nav-tabs-justified > .active > a, | |
| .nav-tabs-justified > .active > a:hover, | |
| .nav-tabs-justified > .active > a:focus { | |
| border: 1px solid #ddd; | |
| } | |
| @media (min-width: 768px) { | |
| .nav-tabs-justified > li > a { | |
| border-bottom: 1px solid #ddd; | |
| border-radius: 2px 2px 0 0; | |
| } | |
| .nav-tabs-justified > .active > a, | |
| .nav-tabs-justified > .active > a:hover, | |
| .nav-tabs-justified > .active > a:focus { | |
| border-bottom-color: #fff; | |
| } | |
| } | |
| .tab-content > .tab-pane { | |
| display: none; | |
| } | |
| .tab-content > .active { | |
| display: block; | |
| } | |
| .nav-tabs .dropdown-menu { | |
| margin-top: -1px; | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .navbar { | |
| position: relative; | |
| min-height: 30px; | |
| margin-bottom: 18px; | |
| border: 1px solid transparent; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar { | |
| border-radius: 2px; | |
| } | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-header { | |
| float: left; | |
| } | |
| } | |
| .navbar-collapse { | |
| overflow-x: visible; | |
| padding-right: 0px; | |
| padding-left: 0px; | |
| border-top: 1px solid transparent; | |
| box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); | |
| -webkit-overflow-scrolling: touch; | |
| } | |
| .navbar-collapse.in { | |
| overflow-y: auto; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-collapse { | |
| width: auto; | |
| border-top: 0; | |
| box-shadow: none; | |
| } | |
| .navbar-collapse.collapse { | |
| display: block !important; | |
| height: auto !important; | |
| padding-bottom: 0; | |
| overflow: visible !important; | |
| } | |
| .navbar-collapse.in { | |
| overflow-y: visible; | |
| } | |
| .navbar-fixed-top .navbar-collapse, | |
| .navbar-static-top .navbar-collapse, | |
| .navbar-fixed-bottom .navbar-collapse { | |
| padding-left: 0; | |
| padding-right: 0; | |
| } | |
| } | |
| .navbar-fixed-top .navbar-collapse, | |
| .navbar-fixed-bottom .navbar-collapse { | |
| max-height: 340px; | |
| } | |
| @media (max-device-width: 540px) and (orientation: landscape) { | |
| .navbar-fixed-top .navbar-collapse, | |
| .navbar-fixed-bottom .navbar-collapse { | |
| max-height: 200px; | |
| } | |
| } | |
| .container > .navbar-header, | |
| .container-fluid > .navbar-header, | |
| .container > .navbar-collapse, | |
| .container-fluid > .navbar-collapse { | |
| margin-right: 0px; | |
| margin-left: 0px; | |
| } | |
| @media (min-width: 541px) { | |
| .container > .navbar-header, | |
| .container-fluid > .navbar-header, | |
| .container > .navbar-collapse, | |
| .container-fluid > .navbar-collapse { | |
| margin-right: 0; | |
| margin-left: 0; | |
| } | |
| } | |
| .navbar-static-top { | |
| z-index: 1000; | |
| border-width: 0 0 1px; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-static-top { | |
| border-radius: 0; | |
| } | |
| } | |
| .navbar-fixed-top, | |
| .navbar-fixed-bottom { | |
| position: fixed; | |
| right: 0; | |
| left: 0; | |
| z-index: 1030; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-fixed-top, | |
| .navbar-fixed-bottom { | |
| border-radius: 0; | |
| } | |
| } | |
| .navbar-fixed-top { | |
| top: 0; | |
| border-width: 0 0 1px; | |
| } | |
| .navbar-fixed-bottom { | |
| bottom: 0; | |
| margin-bottom: 0; | |
| border-width: 1px 0 0; | |
| } | |
| .navbar-brand { | |
| float: left; | |
| padding: 6px 0px; | |
| font-size: 17px; | |
| line-height: 18px; | |
| height: 30px; | |
| } | |
| .navbar-brand:hover, | |
| .navbar-brand:focus { | |
| text-decoration: none; | |
| } | |
| .navbar-brand > img { | |
| display: block; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar > .container .navbar-brand, | |
| .navbar > .container-fluid .navbar-brand { | |
| margin-left: 0px; | |
| } | |
| } | |
| .navbar-toggle { | |
| position: relative; | |
| float: right; | |
| margin-right: 0px; | |
| padding: 9px 10px; | |
| margin-top: -2px; | |
| margin-bottom: -2px; | |
| background-color: transparent; | |
| background-image: none; | |
| border: 1px solid transparent; | |
| border-radius: 2px; | |
| } | |
| .navbar-toggle:focus { | |
| outline: 0; | |
| } | |
| .navbar-toggle .icon-bar { | |
| display: block; | |
| width: 22px; | |
| height: 2px; | |
| border-radius: 1px; | |
| } | |
| .navbar-toggle .icon-bar + .icon-bar { | |
| margin-top: 4px; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-toggle { | |
| display: none; | |
| } | |
| } | |
| .navbar-nav { | |
| margin: 3px 0px; | |
| } | |
| .navbar-nav > li > a { | |
| padding-top: 10px; | |
| padding-bottom: 10px; | |
| line-height: 18px; | |
| } | |
| @media (max-width: 540px) { | |
| .navbar-nav .open .dropdown-menu { | |
| position: static; | |
| float: none; | |
| width: auto; | |
| margin-top: 0; | |
| background-color: transparent; | |
| border: 0; | |
| box-shadow: none; | |
| } | |
| .navbar-nav .open .dropdown-menu > li > a, | |
| .navbar-nav .open .dropdown-menu .dropdown-header { | |
| padding: 5px 15px 5px 25px; | |
| } | |
| .navbar-nav .open .dropdown-menu > li > a { | |
| line-height: 18px; | |
| } | |
| .navbar-nav .open .dropdown-menu > li > a:hover, | |
| .navbar-nav .open .dropdown-menu > li > a:focus { | |
| background-image: none; | |
| } | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-nav { | |
| float: left; | |
| margin: 0; | |
| } | |
| .navbar-nav > li { | |
| float: left; | |
| } | |
| .navbar-nav > li > a { | |
| padding-top: 6px; | |
| padding-bottom: 6px; | |
| } | |
| } | |
| .navbar-form { | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| padding: 10px 0px; | |
| border-top: 1px solid transparent; | |
| border-bottom: 1px solid transparent; | |
| -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); | |
| box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); | |
| margin-top: -1px; | |
| margin-bottom: -1px; | |
| } | |
| @media (min-width: 768px) { | |
| .navbar-form .form-group { | |
| display: inline-block; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .form-control { | |
| display: inline-block; | |
| width: auto; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .form-control-static { | |
| display: inline-block; | |
| } | |
| .navbar-form .input-group { | |
| display: inline-table; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .input-group .input-group-addon, | |
| .navbar-form .input-group .input-group-btn, | |
| .navbar-form .input-group .form-control { | |
| width: auto; | |
| } | |
| .navbar-form .input-group > .form-control { | |
| width: 100%; | |
| } | |
| .navbar-form .control-label { | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .radio, | |
| .navbar-form .checkbox { | |
| display: inline-block; | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| vertical-align: middle; | |
| } | |
| .navbar-form .radio label, | |
| .navbar-form .checkbox label { | |
| padding-left: 0; | |
| } | |
| .navbar-form .radio input[type="radio"], | |
| .navbar-form .checkbox input[type="checkbox"] { | |
| position: relative; | |
| margin-left: 0; | |
| } | |
| .navbar-form .has-feedback .form-control-feedback { | |
| top: 0; | |
| } | |
| } | |
| @media (max-width: 540px) { | |
| .navbar-form .form-group { | |
| margin-bottom: 5px; | |
| } | |
| .navbar-form .form-group:last-child { | |
| margin-bottom: 0; | |
| } | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-form { | |
| width: auto; | |
| border: 0; | |
| margin-left: 0; | |
| margin-right: 0; | |
| padding-top: 0; | |
| padding-bottom: 0; | |
| -webkit-box-shadow: none; | |
| box-shadow: none; | |
| } | |
| } | |
| .navbar-nav > li > .dropdown-menu { | |
| margin-top: 0; | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { | |
| margin-bottom: 0; | |
| border-top-right-radius: 2px; | |
| border-top-left-radius: 2px; | |
| border-bottom-right-radius: 0; | |
| border-bottom-left-radius: 0; | |
| } | |
| .navbar-btn { | |
| margin-top: -1px; | |
| margin-bottom: -1px; | |
| } | |
| .navbar-btn.btn-sm { | |
| margin-top: 0px; | |
| margin-bottom: 0px; | |
| } | |
| .navbar-btn.btn-xs { | |
| margin-top: 4px; | |
| margin-bottom: 4px; | |
| } | |
| .navbar-text { | |
| margin-top: 6px; | |
| margin-bottom: 6px; | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-text { | |
| float: left; | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| } | |
| } | |
| @media (min-width: 541px) { | |
| .navbar-left { | |
| float: left !important; | |
| float: left; | |
| } | |
| .navbar-right { | |
| float: right !important; | |
| float: right; | |
| margin-right: 0px; | |
| } | |
| .navbar-right ~ .navbar-right { | |
| margin-right: 0; | |
| } | |
| } | |
| .navbar-default { | |
| background-color: #f8f8f8; | |
| border-color: #e7e7e7; | |
| } | |
| .navbar-default .navbar-brand { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-brand:hover, | |
| .navbar-default .navbar-brand:focus { | |
| color: #5e5e5e; | |
| background-color: transparent; | |
| } | |
| .navbar-default .navbar-text { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-nav > li > a { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-nav > li > a:hover, | |
| .navbar-default .navbar-nav > li > a:focus { | |
| color: #333; | |
| background-color: transparent; | |
| } | |
| .navbar-default .navbar-nav > .active > a, | |
| .navbar-default .navbar-nav > .active > a:hover, | |
| .navbar-default .navbar-nav > .active > a:focus { | |
| color: #555; | |
| background-color: #e7e7e7; | |
| } | |
| .navbar-default .navbar-nav > .disabled > a, | |
| .navbar-default .navbar-nav > .disabled > a:hover, | |
| .navbar-default .navbar-nav > .disabled > a:focus { | |
| color: #ccc; | |
| background-color: transparent; | |
| } | |
| .navbar-default .navbar-toggle { | |
| border-color: #ddd; | |
| } | |
| .navbar-default .navbar-toggle:hover, | |
| .navbar-default .navbar-toggle:focus { | |
| background-color: #ddd; | |
| } | |
| .navbar-default .navbar-toggle .icon-bar { | |
| background-color: #888; | |
| } | |
| .navbar-default .navbar-collapse, | |
| .navbar-default .navbar-form { | |
| border-color: #e7e7e7; | |
| } | |
| .navbar-default .navbar-nav > .open > a, | |
| .navbar-default .navbar-nav > .open > a:hover, | |
| .navbar-default .navbar-nav > .open > a:focus { | |
| background-color: #e7e7e7; | |
| color: #555; | |
| } | |
| @media (max-width: 540px) { | |
| .navbar-default .navbar-nav .open .dropdown-menu > li > a { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, | |
| .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { | |
| color: #333; | |
| background-color: transparent; | |
| } | |
| .navbar-default .navbar-nav .open .dropdown-menu > .active > a, | |
| .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, | |
| .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { | |
| color: #555; | |
| background-color: #e7e7e7; | |
| } | |
| .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, | |
| .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, | |
| .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { | |
| color: #ccc; | |
| background-color: transparent; | |
| } | |
| } | |
| .navbar-default .navbar-link { | |
| color: #777; | |
| } | |
| .navbar-default .navbar-link:hover { | |
| color: #333; | |
| } | |
| .navbar-default .btn-link { | |
| color: #777; | |
| } | |
| .navbar-default .btn-link:hover, | |
| .navbar-default .btn-link:focus { | |
| color: #333; | |
| } | |
| .navbar-default .btn-link[disabled]:hover, | |
| fieldset[disabled] .navbar-default .btn-link:hover, | |
| .navbar-default .btn-link[disabled]:focus, | |
| fieldset[disabled] .navbar-default .btn-link:focus { | |
| color: #ccc; | |
| } | |
| .navbar-inverse { | |
| background-color: #222; | |
| border-color: #080808; | |
| } | |
| .navbar-inverse .navbar-brand { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-brand:hover, | |
| .navbar-inverse .navbar-brand:focus { | |
| color: #fff; | |
| background-color: transparent; | |
| } | |
| .navbar-inverse .navbar-text { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-nav > li > a { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-nav > li > a:hover, | |
| .navbar-inverse .navbar-nav > li > a:focus { | |
| color: #fff; | |
| background-color: transparent; | |
| } | |
| .navbar-inverse .navbar-nav > .active > a, | |
| .navbar-inverse .navbar-nav > .active > a:hover, | |
| .navbar-inverse .navbar-nav > .active > a:focus { | |
| color: #fff; | |
| background-color: #080808; | |
| } | |
| .navbar-inverse .navbar-nav > .disabled > a, | |
| .navbar-inverse .navbar-nav > .disabled > a:hover, | |
| .navbar-inverse .navbar-nav > .disabled > a:focus { | |
| color: #444; | |
| background-color: transparent; | |
| } | |
| .navbar-inverse .navbar-toggle { | |
| border-color: #333; | |
| } | |
| .navbar-inverse .navbar-toggle:hover, | |
| .navbar-inverse .navbar-toggle:focus { | |
| background-color: #333; | |
| } | |
| .navbar-inverse .navbar-toggle .icon-bar { | |
| background-color: #fff; | |
| } | |
| .navbar-inverse .navbar-collapse, | |
| .navbar-inverse .navbar-form { | |
| border-color: #101010; | |
| } | |
| .navbar-inverse .navbar-nav > .open > a, | |
| .navbar-inverse .navbar-nav > .open > a:hover, | |
| .navbar-inverse .navbar-nav > .open > a:focus { | |
| background-color: #080808; | |
| color: #fff; | |
| } | |
| @media (max-width: 540px) { | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { | |
| border-color: #080808; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu .divider { | |
| background-color: #080808; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { | |
| color: #fff; | |
| background-color: transparent; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { | |
| color: #fff; | |
| background-color: #080808; | |
| } | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, | |
| .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { | |
| color: #444; | |
| background-color: transparent; | |
| } | |
| } | |
| .navbar-inverse .navbar-link { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .navbar-link:hover { | |
| color: #fff; | |
| } | |
| .navbar-inverse .btn-link { | |
| color: #9d9d9d; | |
| } | |
| .navbar-inverse .btn-link:hover, | |
| .navbar-inverse .btn-link:focus { | |
| color: #fff; | |
| } | |
| .navbar-inverse .btn-link[disabled]:hover, | |
| fieldset[disabled] .navbar-inverse .btn-link:hover, | |
| .navbar-inverse .btn-link[disabled]:focus, | |
| fieldset[disabled] .navbar-inverse .btn-link:focus { | |
| color: #444; | |
| } | |
| .breadcrumb { | |
| padding: 8px 15px; | |
| margin-bottom: 18px; | |
| list-style: none; | |
| background-color: #f5f5f5; | |
| border-radius: 2px; | |
| } | |
| .breadcrumb > li { | |
| display: inline-block; | |
| } | |
| .breadcrumb > li + li:before { | |
| content: "/\00a0"; | |
| padding: 0 5px; | |
| color: #5e5e5e; | |
| } | |
| .breadcrumb > .active { | |
| color: #777777; | |
| } | |
| .pagination { | |
| display: inline-block; | |
| padding-left: 0; | |
| margin: 18px 0; | |
| border-radius: 2px; | |
| } | |
| .pagination > li { | |
| display: inline; | |
| } | |
| .pagination > li > a, | |
| .pagination > li > span { | |
| position: relative; | |
| float: left; | |
| padding: 6px 12px; | |
| line-height: 1.42857143; | |
| text-decoration: none; | |
| color: #337ab7; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| margin-left: -1px; | |
| } | |
| .pagination > li:first-child > a, | |
| .pagination > li:first-child > span { | |
| margin-left: 0; | |
| border-bottom-left-radius: 2px; | |
| border-top-left-radius: 2px; | |
| } | |
| .pagination > li:last-child > a, | |
| .pagination > li:last-child > span { | |
| border-bottom-right-radius: 2px; | |
| border-top-right-radius: 2px; | |
| } | |
| .pagination > li > a:hover, | |
| .pagination > li > span:hover, | |
| .pagination > li > a:focus, | |
| .pagination > li > span:focus { | |
| z-index: 2; | |
| color: #23527c; | |
| background-color: #eeeeee; | |
| border-color: #ddd; | |
| } | |
| .pagination > .active > a, | |
| .pagination > .active > span, | |
| .pagination > .active > a:hover, | |
| .pagination > .active > span:hover, | |
| .pagination > .active > a:focus, | |
| .pagination > .active > span:focus { | |
| z-index: 3; | |
| color: #fff; | |
| background-color: #337ab7; | |
| border-color: #337ab7; | |
| cursor: default; | |
| } | |
| .pagination > .disabled > span, | |
| .pagination > .disabled > span:hover, | |
| .pagination > .disabled > span:focus, | |
| .pagination > .disabled > a, | |
| .pagination > .disabled > a:hover, | |
| .pagination > .disabled > a:focus { | |
| color: #777777; | |
| background-color: #fff; | |
| border-color: #ddd; | |
| cursor: not-allowed; | |
| } | |
| .pagination-lg > li > a, | |
| .pagination-lg > li > span { | |
| padding: 10px 16px; | |
| font-size: 17px; | |
| line-height: 1.3333333; | |
| } | |
| .pagination-lg > li:first-child > a, | |
| .pagination-lg > li:first-child > span { | |
| border-bottom-left-radius: 3px; | |
| border-top-left-radius: 3px; | |
| } | |
| .pagination-lg > li:last-child > a, | |
| .pagination-lg > li:last-child > span { | |
| border-bottom-right-radius: 3px; | |
| border-top-right-radius: 3px; | |
| } | |
| .pagination-sm > li > a, | |
| .pagination-sm > li > span { | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| } | |
| .pagination-sm > li:first-child > a, | |
| .pagination-sm > li:first-child > span { | |
| border-bottom-left-radius: 1px; | |
| border-top-left-radius: 1px; | |
| } | |
| .pagination-sm > li:last-child > a, | |
| .pagination-sm > li:last-child > span { | |
| border-bottom-right-radius: 1px; | |
| border-top-right-radius: 1px; | |
| } | |
| .pager { | |
| padding-left: 0; | |
| margin: 18px 0; | |
| list-style: none; | |
| text-align: center; | |
| } | |
| .pager li { | |
| display: inline; | |
| } | |
| .pager li > a, | |
| .pager li > span { | |
| display: inline-block; | |
| padding: 5px 14px; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| border-radius: 15px; | |
| } | |
| .pager li > a:hover, | |
| .pager li > a:focus { | |
| text-decoration: none; | |
| background-color: #eeeeee; | |
| } | |
| .pager .next > a, | |
| .pager .next > span { | |
| float: right; | |
| } | |
| .pager .previous > a, | |
| .pager .previous > span { | |
| float: left; | |
| } | |
| .pager .disabled > a, | |
| .pager .disabled > a:hover, | |
| .pager .disabled > a:focus, | |
| .pager .disabled > span { | |
| color: #777777; | |
| background-color: #fff; | |
| cursor: not-allowed; | |
| } | |
| .label { | |
| display: inline; | |
| padding: .2em .6em .3em; | |
| font-size: 75%; | |
| font-weight: bold; | |
| line-height: 1; | |
| color: #fff; | |
| text-align: center; | |
| white-space: nowrap; | |
| vertical-align: baseline; | |
| border-radius: .25em; | |
| } | |
| a.label:hover, | |
| a.label:focus { | |
| color: #fff; | |
| text-decoration: none; | |
| cursor: pointer; | |
| } | |
| .label:empty { | |
| display: none; | |
| } | |
| .btn .label { | |
| position: relative; | |
| top: -1px; | |
| } | |
| .label-default { | |
| background-color: #777777; | |
| } | |
| .label-default[href]:hover, | |
| .label-default[href]:focus { | |
| background-color: #5e5e5e; | |
| } | |
| .label-primary { | |
| background-color: #337ab7; | |
| } | |
| .label-primary[href]:hover, | |
| .label-primary[href]:focus { | |
| background-color: #286090; | |
| } | |
| .label-success { | |
| background-color: #5cb85c; | |
| } | |
| .label-success[href]:hover, | |
| .label-success[href]:focus { | |
| background-color: #449d44; | |
| } | |
| .label-info { | |
| background-color: #5bc0de; | |
| } | |
| .label-info[href]:hover, | |
| .label-info[href]:focus { | |
| background-color: #31b0d5; | |
| } | |
| .label-warning { | |
| background-color: #f0ad4e; | |
| } | |
| .label-warning[href]:hover, | |
| .label-warning[href]:focus { | |
| background-color: #ec971f; | |
| } | |
| .label-danger { | |
| background-color: #d9534f; | |
| } | |
| .label-danger[href]:hover, | |
| .label-danger[href]:focus { | |
| background-color: #c9302c; | |
| } | |
| .badge { | |
| display: inline-block; | |
| min-width: 10px; | |
| padding: 3px 7px; | |
| font-size: 12px; | |
| font-weight: bold; | |
| color: #fff; | |
| line-height: 1; | |
| vertical-align: middle; | |
| white-space: nowrap; | |
| text-align: center; | |
| background-color: #777777; | |
| border-radius: 10px; | |
| } | |
| .badge:empty { | |
| display: none; | |
| } | |
| .btn .badge { | |
| position: relative; | |
| top: -1px; | |
| } | |
| .btn-xs .badge, | |
| .btn-group-xs > .btn .badge { | |
| top: 0; | |
| padding: 1px 5px; | |
| } | |
| a.badge:hover, | |
| a.badge:focus { | |
| color: #fff; | |
| text-decoration: none; | |
| cursor: pointer; | |
| } | |
| .list-group-item.active > .badge, | |
| .nav-pills > .active > a > .badge { | |
| color: #337ab7; | |
| background-color: #fff; | |
| } | |
| .list-group-item > .badge { | |
| float: right; | |
| } | |
| .list-group-item > .badge + .badge { | |
| margin-right: 5px; | |
| } | |
| .nav-pills > li > a > .badge { | |
| margin-left: 3px; | |
| } | |
| .jumbotron { | |
| padding-top: 30px; | |
| padding-bottom: 30px; | |
| margin-bottom: 30px; | |
| color: inherit; | |
| background-color: #eeeeee; | |
| } | |
| .jumbotron h1, | |
| .jumbotron .h1 { | |
| color: inherit; | |
| } | |
| .jumbotron p { | |
| margin-bottom: 15px; | |
| font-size: 20px; | |
| font-weight: 200; | |
| } | |
| .jumbotron > hr { | |
| border-top-color: #d5d5d5; | |
| } | |
| .container .jumbotron, | |
| .container-fluid .jumbotron { | |
| border-radius: 3px; | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| .jumbotron .container { | |
| max-width: 100%; | |
| } | |
| @media screen and (min-width: 768px) { | |
| .jumbotron { | |
| padding-top: 48px; | |
| padding-bottom: 48px; | |
| } | |
| .container .jumbotron, | |
| .container-fluid .jumbotron { | |
| padding-left: 60px; | |
| padding-right: 60px; | |
| } | |
| .jumbotron h1, | |
| .jumbotron .h1 { | |
| font-size: 59px; | |
| } | |
| } | |
| .thumbnail { | |
| display: block; | |
| padding: 4px; | |
| margin-bottom: 18px; | |
| line-height: 1.42857143; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| border-radius: 2px; | |
| -webkit-transition: border 0.2s ease-in-out; | |
| -o-transition: border 0.2s ease-in-out; | |
| transition: border 0.2s ease-in-out; | |
| } | |
| .thumbnail > img, | |
| .thumbnail a > img { | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| a.thumbnail:hover, | |
| a.thumbnail:focus, | |
| a.thumbnail.active { | |
| border-color: #337ab7; | |
| } | |
| .thumbnail .caption { | |
| padding: 9px; | |
| color: #000; | |
| } | |
| .alert { | |
| padding: 15px; | |
| margin-bottom: 18px; | |
| border: 1px solid transparent; | |
| border-radius: 2px; | |
| } | |
| .alert h4 { | |
| margin-top: 0; | |
| color: inherit; | |
| } | |
| .alert .alert-link { | |
| font-weight: bold; | |
| } | |
| .alert > p, | |
| .alert > ul { | |
| margin-bottom: 0; | |
| } | |
| .alert > p + p { | |
| margin-top: 5px; | |
| } | |
| .alert-dismissable, | |
| .alert-dismissible { | |
| padding-right: 35px; | |
| } | |
| .alert-dismissable .close, | |
| .alert-dismissible .close { | |
| position: relative; | |
| top: -2px; | |
| right: -21px; | |
| color: inherit; | |
| } | |
| .alert-success { | |
| background-color: #dff0d8; | |
| border-color: #d6e9c6; | |
| color: #3c763d; | |
| } | |
| .alert-success hr { | |
| border-top-color: #c9e2b3; | |
| } | |
| .alert-success .alert-link { | |
| color: #2b542c; | |
| } | |
| .alert-info { | |
| background-color: #d9edf7; | |
| border-color: #bce8f1; | |
| color: #31708f; | |
| } | |
| .alert-info hr { | |
| border-top-color: #a6e1ec; | |
| } | |
| .alert-info .alert-link { | |
| color: #245269; | |
| } | |
| .alert-warning { | |
| background-color: #fcf8e3; | |
| border-color: #faebcc; | |
| color: #8a6d3b; | |
| } | |
| .alert-warning hr { | |
| border-top-color: #f7e1b5; | |
| } | |
| .alert-warning .alert-link { | |
| color: #66512c; | |
| } | |
| .alert-danger { | |
| background-color: #f2dede; | |
| border-color: #ebccd1; | |
| color: #a94442; | |
| } | |
| .alert-danger hr { | |
| border-top-color: #e4b9c0; | |
| } | |
| .alert-danger .alert-link { | |
| color: #843534; | |
| } | |
| @-webkit-keyframes progress-bar-stripes { | |
| from { | |
| background-position: 40px 0; | |
| } | |
| to { | |
| background-position: 0 0; | |
| } | |
| } | |
| @keyframes progress-bar-stripes { | |
| from { | |
| background-position: 40px 0; | |
| } | |
| to { | |
| background-position: 0 0; | |
| } | |
| } | |
| .progress { | |
| overflow: hidden; | |
| height: 18px; | |
| margin-bottom: 18px; | |
| background-color: #f5f5f5; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
| box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); | |
| } | |
| .progress-bar { | |
| float: left; | |
| width: 0%; | |
| height: 100%; | |
| font-size: 12px; | |
| line-height: 18px; | |
| color: #fff; | |
| text-align: center; | |
| background-color: #337ab7; | |
| -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
| box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); | |
| -webkit-transition: width 0.6s ease; | |
| -o-transition: width 0.6s ease; | |
| transition: width 0.6s ease; | |
| } | |
| .progress-striped .progress-bar, | |
| .progress-bar-striped { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-size: 40px 40px; | |
| } | |
| .progress.active .progress-bar, | |
| .progress-bar.active { | |
| -webkit-animation: progress-bar-stripes 2s linear infinite; | |
| -o-animation: progress-bar-stripes 2s linear infinite; | |
| animation: progress-bar-stripes 2s linear infinite; | |
| } | |
| .progress-bar-success { | |
| background-color: #5cb85c; | |
| } | |
| .progress-striped .progress-bar-success { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| } | |
| .progress-bar-info { | |
| background-color: #5bc0de; | |
| } | |
| .progress-striped .progress-bar-info { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| } | |
| .progress-bar-warning { | |
| background-color: #f0ad4e; | |
| } | |
| .progress-striped .progress-bar-warning { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| } | |
| .progress-bar-danger { | |
| background-color: #d9534f; | |
| } | |
| .progress-striped .progress-bar-danger { | |
| background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); | |
| } | |
| .media { | |
| margin-top: 15px; | |
| } | |
| .media:first-child { | |
| margin-top: 0; | |
| } | |
| .media, | |
| .media-body { | |
| zoom: 1; | |
| overflow: hidden; | |
| } | |
| .media-body { | |
| width: 10000px; | |
| } | |
| .media-object { | |
| display: block; | |
| } | |
| .media-object.img-thumbnail { | |
| max-width: none; | |
| } | |
| .media-right, | |
| .media > .pull-right { | |
| padding-left: 10px; | |
| } | |
| .media-left, | |
| .media > .pull-left { | |
| padding-right: 10px; | |
| } | |
| .media-left, | |
| .media-right, | |
| .media-body { | |
| display: table-cell; | |
| vertical-align: top; | |
| } | |
| .media-middle { | |
| vertical-align: middle; | |
| } | |
| .media-bottom { | |
| vertical-align: bottom; | |
| } | |
| .media-heading { | |
| margin-top: 0; | |
| margin-bottom: 5px; | |
| } | |
| .media-list { | |
| padding-left: 0; | |
| list-style: none; | |
| } | |
| .list-group { | |
| margin-bottom: 20px; | |
| padding-left: 0; | |
| } | |
| .list-group-item { | |
| position: relative; | |
| display: block; | |
| padding: 10px 15px; | |
| margin-bottom: -1px; | |
| background-color: #fff; | |
| border: 1px solid #ddd; | |
| } | |
| .list-group-item:first-child { | |
| border-top-right-radius: 2px; | |
| border-top-left-radius: 2px; | |
| } | |
| .list-group-item:last-child { | |
| margin-bottom: 0; | |
| border-bottom-right-radius: 2px; | |
| border-bottom-left-radius: 2px; | |
| } | |
| a.list-group-item, | |
| button.list-group-item { | |
| color: #555; | |
| } | |
| a.list-group-item .list-group-item-heading, | |
| button.list-group-item .list-group-item-heading { | |
| color: #333; | |
| } | |
| a.list-group-item:hover, | |
| button.list-group-item:hover, | |
| a.list-group-item:focus, | |
| button.list-group-item:focus { | |
| text-decoration: none; | |
| color: #555; | |
| background-color: #f5f5f5; | |
| } | |
| button.list-group-item { | |
| width: 100%; | |
| text-align: left; | |
| } | |
| .list-group-item.disabled, | |
| .list-group-item.disabled:hover, | |
| .list-group-item.disabled:focus { | |
| background-color: #eeeeee; | |
| color: #777777; | |
| cursor: not-allowed; | |
| } | |
| .list-group-item.disabled .list-group-item-heading, | |
| .list-group-item.disabled:hover .list-group-item-heading, | |
| .list-group-item.disabled:focus .list-group-item-heading { | |
| color: inherit; | |
| } | |
| .list-group-item.disabled .list-group-item-text, | |
| .list-group-item.disabled:hover .list-group-item-text, | |
| .list-group-item.disabled:focus .list-group-item-text { | |
| color: #777777; | |
| } | |
| .list-group-item.active, | |
| .list-group-item.active:hover, | |
| .list-group-item.active:focus { | |
| z-index: 2; | |
| color: #fff; | |
| background-color: #337ab7; | |
| border-color: #337ab7; | |
| } | |
| .list-group-item.active .list-group-item-heading, | |
| .list-group-item.active:hover .list-group-item-heading, | |
| .list-group-item.active:focus .list-group-item-heading, | |
| .list-group-item.active .list-group-item-heading > small, | |
| .list-group-item.active:hover .list-group-item-heading > small, | |
| .list-group-item.active:focus .list-group-item-heading > small, | |
| .list-group-item.active .list-group-item-heading > .small, | |
| .list-group-item.active:hover .list-group-item-heading > .small, | |
| .list-group-item.active:focus .list-group-item-heading > .small { | |
| color: inherit; | |
| } | |
| .list-group-item.active .list-group-item-text, | |
| .list-group-item.active:hover .list-group-item-text, | |
| .list-group-item.active:focus .list-group-item-text { | |
| color: #c7ddef; | |
| } | |
| .list-group-item-success { | |
| color: #3c763d; | |
| background-color: #dff0d8; | |
| } | |
| a.list-group-item-success, | |
| button.list-group-item-success { | |
| color: #3c763d; | |
| } | |
| a.list-group-item-success .list-group-item-heading, | |
| button.list-group-item-success .list-group-item-heading { | |
| color: inherit; | |
| } | |
| a.list-group-item-success:hover, | |
| button.list-group-item-success:hover, | |
| a.list-group-item-success:focus, | |
| button.list-group-item-success:focus { | |
| color: #3c763d; | |
| background-color: #d0e9c6; | |
| } | |
| a.list-group-item-success.active, | |
| button.list-group-item-success.active, | |
| a.list-group-item-success.active:hover, | |
| button.list-group-item-success.active:hover, | |
| a.list-group-item-success.active:focus, | |
| button.list-group-item-success.active:focus { | |
| color: #fff; | |
| background-color: #3c763d; | |
| border-color: #3c763d; | |
| } | |
| .list-group-item-info { | |
| color: #31708f; | |
| background-color: #d9edf7; | |
| } | |
| a.list-group-item-info, | |
| button.list-group-item-info { | |
| color: #31708f; | |
| } | |
| a.list-group-item-info .list-group-item-heading, | |
| button.list-group-item-info .list-group-item-heading { | |
| color: inherit; | |
| } | |
| a.list-group-item-info:hover, | |
| button.list-group-item-info:hover, | |
| a.list-group-item-info:focus, | |
| button.list-group-item-info:focus { | |
| color: #31708f; | |
| background-color: #c4e3f3; | |
| } | |
| a.list-group-item-info.active, | |
| button.list-group-item-info.active, | |
| a.list-group-item-info.active:hover, | |
| button.list-group-item-info.active:hover, | |
| a.list-group-item-info.active:focus, | |
| button.list-group-item-info.active:focus { | |
| color: #fff; | |
| background-color: #31708f; | |
| border-color: #31708f; | |
| } | |
| .list-group-item-warning { | |
| color: #8a6d3b; | |
| background-color: #fcf8e3; | |
| } | |
| a.list-group-item-warning, | |
| button.list-group-item-warning { | |
| color: #8a6d3b; | |
| } | |
| a.list-group-item-warning .list-group-item-heading, | |
| button.list-group-item-warning .list-group-item-heading { | |
| color: inherit; | |
| } | |
| a.list-group-item-warning:hover, | |
| button.list-group-item-warning:hover, | |
| a.list-group-item-warning:focus, | |
| button.list-group-item-warning:focus { | |
| color: #8a6d3b; | |
| background-color: #faf2cc; | |
| } | |
| a.list-group-item-warning.active, | |
| button.list-group-item-warning.active, | |
| a.list-group-item-warning.active:hover, | |
| button.list-group-item-warning.active:hover, | |
| a.list-group-item-warning.active:focus, | |
| button.list-group-item-warning.active:focus { | |
| color: #fff; | |
| background-color: #8a6d3b; | |
| border-color: #8a6d3b; | |
| } | |
| .list-group-item-danger { | |
| color: #a94442; | |
| background-color: #f2dede; | |
| } | |
| a.list-group-item-danger, | |
| button.list-group-item-danger { | |
| color: #a94442; | |
| } | |
| a.list-group-item-danger .list-group-item-heading, | |
| button.list-group-item-danger .list-group-item-heading { | |
| color: inherit; | |
| } | |
| a.list-group-item-danger:hover, | |
| button.list-group-item-danger:hover, | |
| a.list-group-item-danger:focus, | |
| button.list-group-item-danger:focus { | |
| color: #a94442; | |
| background-color: #ebcccc; | |
| } | |
| a.list-group-item-danger.active, | |
| button.list-group-item-danger.active, | |
| a.list-group-item-danger.active:hover, | |
| button.list-group-item-danger.active:hover, | |
| a.list-group-item-danger.active:focus, | |
| button.list-group-item-danger.active:focus { | |
| color: #fff; | |
| background-color: #a94442; | |
| border-color: #a94442; | |
| } | |
| .list-group-item-heading { | |
| margin-top: 0; | |
| margin-bottom: 5px; | |
| } | |
| .list-group-item-text { | |
| margin-bottom: 0; | |
| line-height: 1.3; | |
| } | |
| .panel { | |
| margin-bottom: 18px; | |
| background-color: #fff; | |
| border: 1px solid transparent; | |
| border-radius: 2px; | |
| -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); | |
| box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); | |
| } | |
| .panel-body { | |
| padding: 15px; | |
| } | |
| .panel-heading { | |
| padding: 10px 15px; | |
| border-bottom: 1px solid transparent; | |
| border-top-right-radius: 1px; | |
| border-top-left-radius: 1px; | |
| } | |
| .panel-heading > .dropdown .dropdown-toggle { | |
| color: inherit; | |
| } | |
| .panel-title { | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| font-size: 15px; | |
| color: inherit; | |
| } | |
| .panel-title > a, | |
| .panel-title > small, | |
| .panel-title > .small, | |
| .panel-title > small > a, | |
| .panel-title > .small > a { | |
| color: inherit; | |
| } | |
| .panel-footer { | |
| padding: 10px 15px; | |
| background-color: #f5f5f5; | |
| border-top: 1px solid #ddd; | |
| border-bottom-right-radius: 1px; | |
| border-bottom-left-radius: 1px; | |
| } | |
| .panel > .list-group, | |
| .panel > .panel-collapse > .list-group { | |
| margin-bottom: 0; | |
| } | |
| .panel > .list-group .list-group-item, | |
| .panel > .panel-collapse > .list-group .list-group-item { | |
| border-width: 1px 0; | |
| border-radius: 0; | |
| } | |
| .panel > .list-group:first-child .list-group-item:first-child, | |
| .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { | |
| border-top: 0; | |
| border-top-right-radius: 1px; | |
| border-top-left-radius: 1px; | |
| } | |
| .panel > .list-group:last-child .list-group-item:last-child, | |
| .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { | |
| border-bottom: 0; | |
| border-bottom-right-radius: 1px; | |
| border-bottom-left-radius: 1px; | |
| } | |
| .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { | |
| border-top-right-radius: 0; | |
| border-top-left-radius: 0; | |
| } | |
| .panel-heading + .list-group .list-group-item:first-child { | |
| border-top-width: 0; | |
| } | |
| .list-group + .panel-footer { | |
| border-top-width: 0; | |
| } | |
| .panel > .table, | |
| .panel > .table-responsive > .table, | |
| .panel > .panel-collapse > .table { | |
| margin-bottom: 0; | |
| } | |
| .panel > .table caption, | |
| .panel > .table-responsive > .table caption, | |
| .panel > .panel-collapse > .table caption { | |
| padding-left: 15px; | |
| padding-right: 15px; | |
| } | |
| .panel > .table:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child { | |
| border-top-right-radius: 1px; | |
| border-top-left-radius: 1px; | |
| } | |
| .panel > .table:first-child > thead:first-child > tr:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { | |
| border-top-left-radius: 1px; | |
| border-top-right-radius: 1px; | |
| } | |
| .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, | |
| .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { | |
| border-top-left-radius: 1px; | |
| } | |
| .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, | |
| .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, | |
| .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, | |
| .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, | |
| .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { | |
| border-top-right-radius: 1px; | |
| } | |
| .panel > .table:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child { | |
| border-bottom-right-radius: 1px; | |
| border-bottom-left-radius: 1px; | |
| } | |
| .panel > .table:last-child > tbody:last-child > tr:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { | |
| border-bottom-left-radius: 1px; | |
| border-bottom-right-radius: 1px; | |
| } | |
| .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, | |
| .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { | |
| border-bottom-left-radius: 1px; | |
| } | |
| .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, | |
| .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, | |
| .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, | |
| .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { | |
| border-bottom-right-radius: 1px; | |
| } | |
| .panel > .panel-body + .table, | |
| .panel > .panel-body + .table-responsive, | |
| .panel > .table + .panel-body, | |
| .panel > .table-responsive + .panel-body { | |
| border-top: 1px solid #ddd; | |
| } | |
| .panel > .table > tbody:first-child > tr:first-child th, | |
| .panel > .table > tbody:first-child > tr:first-child td { | |
| border-top: 0; | |
| } | |
| .panel > .table-bordered, | |
| .panel > .table-responsive > .table-bordered { | |
| border: 0; | |
| } | |
| .panel > .table-bordered > thead > tr > th:first-child, | |
| .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, | |
| .panel > .table-bordered > tbody > tr > th:first-child, | |
| .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, | |
| .panel > .table-bordered > tfoot > tr > th:first-child, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, | |
| .panel > .table-bordered > thead > tr > td:first-child, | |
| .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, | |
| .panel > .table-bordered > tbody > tr > td:first-child, | |
| .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, | |
| .panel > .table-bordered > tfoot > tr > td:first-child, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { | |
| border-left: 0; | |
| } | |
| .panel > .table-bordered > thead > tr > th:last-child, | |
| .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, | |
| .panel > .table-bordered > tbody > tr > th:last-child, | |
| .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, | |
| .panel > .table-bordered > tfoot > tr > th:last-child, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, | |
| .panel > .table-bordered > thead > tr > td:last-child, | |
| .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, | |
| .panel > .table-bordered > tbody > tr > td:last-child, | |
| .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, | |
| .panel > .table-bordered > tfoot > tr > td:last-child, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { | |
| border-right: 0; | |
| } | |
| .panel > .table-bordered > thead > tr:first-child > td, | |
| .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, | |
| .panel > .table-bordered > tbody > tr:first-child > td, | |
| .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, | |
| .panel > .table-bordered > thead > tr:first-child > th, | |
| .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, | |
| .panel > .table-bordered > tbody > tr:first-child > th, | |
| .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { | |
| border-bottom: 0; | |
| } | |
| .panel > .table-bordered > tbody > tr:last-child > td, | |
| .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, | |
| .panel > .table-bordered > tfoot > tr:last-child > td, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, | |
| .panel > .table-bordered > tbody > tr:last-child > th, | |
| .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, | |
| .panel > .table-bordered > tfoot > tr:last-child > th, | |
| .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { | |
| border-bottom: 0; | |
| } | |
| .panel > .table-responsive { | |
| border: 0; | |
| margin-bottom: 0; | |
| } | |
| .panel-group { | |
| margin-bottom: 18px; | |
| } | |
| .panel-group .panel { | |
| margin-bottom: 0; | |
| border-radius: 2px; | |
| } | |
| .panel-group .panel + .panel { | |
| margin-top: 5px; | |
| } | |
| .panel-group .panel-heading { | |
| border-bottom: 0; | |
| } | |
| .panel-group .panel-heading + .panel-collapse > .panel-body, | |
| .panel-group .panel-heading + .panel-collapse > .list-group { | |
| border-top: 1px solid #ddd; | |
| } | |
| .panel-group .panel-footer { | |
| border-top: 0; | |
| } | |
| .panel-group .panel-footer + .panel-collapse .panel-body { | |
| border-bottom: 1px solid #ddd; | |
| } | |
| .panel-default { | |
| border-color: #ddd; | |
| } | |
| .panel-default > .panel-heading { | |
| color: #333333; | |
| background-color: #f5f5f5; | |
| border-color: #ddd; | |
| } | |
| .panel-default > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #ddd; | |
| } | |
| .panel-default > .panel-heading .badge { | |
| color: #f5f5f5; | |
| background-color: #333333; | |
| } | |
| .panel-default > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #ddd; | |
| } | |
| .panel-primary { | |
| border-color: #337ab7; | |
| } | |
| .panel-primary > .panel-heading { | |
| color: #fff; | |
| background-color: #337ab7; | |
| border-color: #337ab7; | |
| } | |
| .panel-primary > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #337ab7; | |
| } | |
| .panel-primary > .panel-heading .badge { | |
| color: #337ab7; | |
| background-color: #fff; | |
| } | |
| .panel-primary > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #337ab7; | |
| } | |
| .panel-success { | |
| border-color: #d6e9c6; | |
| } | |
| .panel-success > .panel-heading { | |
| color: #3c763d; | |
| background-color: #dff0d8; | |
| border-color: #d6e9c6; | |
| } | |
| .panel-success > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #d6e9c6; | |
| } | |
| .panel-success > .panel-heading .badge { | |
| color: #dff0d8; | |
| background-color: #3c763d; | |
| } | |
| .panel-success > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #d6e9c6; | |
| } | |
| .panel-info { | |
| border-color: #bce8f1; | |
| } | |
| .panel-info > .panel-heading { | |
| color: #31708f; | |
| background-color: #d9edf7; | |
| border-color: #bce8f1; | |
| } | |
| .panel-info > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #bce8f1; | |
| } | |
| .panel-info > .panel-heading .badge { | |
| color: #d9edf7; | |
| background-color: #31708f; | |
| } | |
| .panel-info > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #bce8f1; | |
| } | |
| .panel-warning { | |
| border-color: #faebcc; | |
| } | |
| .panel-warning > .panel-heading { | |
| color: #8a6d3b; | |
| background-color: #fcf8e3; | |
| border-color: #faebcc; | |
| } | |
| .panel-warning > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #faebcc; | |
| } | |
| .panel-warning > .panel-heading .badge { | |
| color: #fcf8e3; | |
| background-color: #8a6d3b; | |
| } | |
| .panel-warning > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #faebcc; | |
| } | |
| .panel-danger { | |
| border-color: #ebccd1; | |
| } | |
| .panel-danger > .panel-heading { | |
| color: #a94442; | |
| background-color: #f2dede; | |
| border-color: #ebccd1; | |
| } | |
| .panel-danger > .panel-heading + .panel-collapse > .panel-body { | |
| border-top-color: #ebccd1; | |
| } | |
| .panel-danger > .panel-heading .badge { | |
| color: #f2dede; | |
| background-color: #a94442; | |
| } | |
| .panel-danger > .panel-footer + .panel-collapse > .panel-body { | |
| border-bottom-color: #ebccd1; | |
| } | |
| .embed-responsive { | |
| position: relative; | |
| display: block; | |
| height: 0; | |
| padding: 0; | |
| overflow: hidden; | |
| } | |
| .embed-responsive .embed-responsive-item, | |
| .embed-responsive iframe, | |
| .embed-responsive embed, | |
| .embed-responsive object, | |
| .embed-responsive video { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| bottom: 0; | |
| height: 100%; | |
| width: 100%; | |
| border: 0; | |
| } | |
| .embed-responsive-16by9 { | |
| padding-bottom: 56.25%; | |
| } | |
| .embed-responsive-4by3 { | |
| padding-bottom: 75%; | |
| } | |
| .well { | |
| min-height: 20px; | |
| padding: 19px; | |
| margin-bottom: 20px; | |
| background-color: #f5f5f5; | |
| border: 1px solid #e3e3e3; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); | |
| } | |
| .well blockquote { | |
| border-color: #ddd; | |
| border-color: rgba(0, 0, 0, 0.15); | |
| } | |
| .well-lg { | |
| padding: 24px; | |
| border-radius: 3px; | |
| } | |
| .well-sm { | |
| padding: 9px; | |
| border-radius: 1px; | |
| } | |
| .close { | |
| float: right; | |
| font-size: 19.5px; | |
| font-weight: bold; | |
| line-height: 1; | |
| color: #000; | |
| text-shadow: 0 1px 0 #fff; | |
| opacity: 0.2; | |
| filter: alpha(opacity=20); | |
| } | |
| .close:hover, | |
| .close:focus { | |
| color: #000; | |
| text-decoration: none; | |
| cursor: pointer; | |
| opacity: 0.5; | |
| filter: alpha(opacity=50); | |
| } | |
| button.close { | |
| padding: 0; | |
| cursor: pointer; | |
| background: transparent; | |
| border: 0; | |
| -webkit-appearance: none; | |
| } | |
| .modal-open { | |
| overflow: hidden; | |
| } | |
| .modal { | |
| display: none; | |
| overflow: hidden; | |
| position: fixed; | |
| top: 0; | |
| right: 0; | |
| bottom: 0; | |
| left: 0; | |
| z-index: 1050; | |
| -webkit-overflow-scrolling: touch; | |
| outline: 0; | |
| } | |
| .modal.fade .modal-dialog { | |
| -webkit-transform: translate(0, -25%); | |
| -ms-transform: translate(0, -25%); | |
| -o-transform: translate(0, -25%); | |
| transform: translate(0, -25%); | |
| -webkit-transition: -webkit-transform 0.3s ease-out; | |
| -moz-transition: -moz-transform 0.3s ease-out; | |
| -o-transition: -o-transform 0.3s ease-out; | |
| transition: transform 0.3s ease-out; | |
| } | |
| .modal.in .modal-dialog { | |
| -webkit-transform: translate(0, 0); | |
| -ms-transform: translate(0, 0); | |
| -o-transform: translate(0, 0); | |
| transform: translate(0, 0); | |
| } | |
| .modal-open .modal { | |
| overflow-x: hidden; | |
| overflow-y: auto; | |
| } | |
| .modal-dialog { | |
| position: relative; | |
| width: auto; | |
| margin: 10px; | |
| } | |
| .modal-content { | |
| position: relative; | |
| background-color: #fff; | |
| border: 1px solid #999; | |
| border: 1px solid rgba(0, 0, 0, 0.2); | |
| border-radius: 3px; | |
| -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); | |
| box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); | |
| background-clip: padding-box; | |
| outline: 0; | |
| } | |
| .modal-backdrop { | |
| position: fixed; | |
| top: 0; | |
| right: 0; | |
| bottom: 0; | |
| left: 0; | |
| z-index: 1040; | |
| background-color: #000; | |
| } | |
| .modal-backdrop.fade { | |
| opacity: 0; | |
| filter: alpha(opacity=0); | |
| } | |
| .modal-backdrop.in { | |
| opacity: 0.5; | |
| filter: alpha(opacity=50); | |
| } | |
| .modal-header { | |
| padding: 15px; | |
| border-bottom: 1px solid #e5e5e5; | |
| } | |
| .modal-header .close { | |
| margin-top: -2px; | |
| } | |
| .modal-title { | |
| margin: 0; | |
| line-height: 1.42857143; | |
| } | |
| .modal-body { | |
| position: relative; | |
| padding: 15px; | |
| } | |
| .modal-footer { | |
| padding: 15px; | |
| text-align: right; | |
| border-top: 1px solid #e5e5e5; | |
| } | |
| .modal-footer .btn + .btn { | |
| margin-left: 5px; | |
| margin-bottom: 0; | |
| } | |
| .modal-footer .btn-group .btn + .btn { | |
| margin-left: -1px; | |
| } | |
| .modal-footer .btn-block + .btn-block { | |
| margin-left: 0; | |
| } | |
| .modal-scrollbar-measure { | |
| position: absolute; | |
| top: -9999px; | |
| width: 50px; | |
| height: 50px; | |
| overflow: scroll; | |
| } | |
| @media (min-width: 768px) { | |
| .modal-dialog { | |
| width: 600px; | |
| margin: 30px auto; | |
| } | |
| .modal-content { | |
| -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); | |
| box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); | |
| } | |
| .modal-sm { | |
| width: 300px; | |
| } | |
| } | |
| @media (min-width: 992px) { | |
| .modal-lg { | |
| width: 900px; | |
| } | |
| } | |
| .tooltip { | |
| position: absolute; | |
| z-index: 1070; | |
| display: block; | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| font-style: normal; | |
| font-weight: normal; | |
| letter-spacing: normal; | |
| line-break: auto; | |
| line-height: 1.42857143; | |
| text-align: left; | |
| text-align: start; | |
| text-decoration: none; | |
| text-shadow: none; | |
| text-transform: none; | |
| white-space: normal; | |
| word-break: normal; | |
| word-spacing: normal; | |
| word-wrap: normal; | |
| font-size: 12px; | |
| opacity: 0; | |
| filter: alpha(opacity=0); | |
| } | |
| .tooltip.in { | |
| opacity: 0.9; | |
| filter: alpha(opacity=90); | |
| } | |
| .tooltip.top { | |
| margin-top: -3px; | |
| padding: 5px 0; | |
| } | |
| .tooltip.right { | |
| margin-left: 3px; | |
| padding: 0 5px; | |
| } | |
| .tooltip.bottom { | |
| margin-top: 3px; | |
| padding: 5px 0; | |
| } | |
| .tooltip.left { | |
| margin-left: -3px; | |
| padding: 0 5px; | |
| } | |
| .tooltip-inner { | |
| max-width: 200px; | |
| padding: 3px 8px; | |
| color: #fff; | |
| text-align: center; | |
| background-color: #000; | |
| border-radius: 2px; | |
| } | |
| .tooltip-arrow { | |
| position: absolute; | |
| width: 0; | |
| height: 0; | |
| border-color: transparent; | |
| border-style: solid; | |
| } | |
| .tooltip.top .tooltip-arrow { | |
| bottom: 0; | |
| left: 50%; | |
| margin-left: -5px; | |
| border-width: 5px 5px 0; | |
| border-top-color: #000; | |
| } | |
| .tooltip.top-left .tooltip-arrow { | |
| bottom: 0; | |
| right: 5px; | |
| margin-bottom: -5px; | |
| border-width: 5px 5px 0; | |
| border-top-color: #000; | |
| } | |
| .tooltip.top-right .tooltip-arrow { | |
| bottom: 0; | |
| left: 5px; | |
| margin-bottom: -5px; | |
| border-width: 5px 5px 0; | |
| border-top-color: #000; | |
| } | |
| .tooltip.right .tooltip-arrow { | |
| top: 50%; | |
| left: 0; | |
| margin-top: -5px; | |
| border-width: 5px 5px 5px 0; | |
| border-right-color: #000; | |
| } | |
| .tooltip.left .tooltip-arrow { | |
| top: 50%; | |
| right: 0; | |
| margin-top: -5px; | |
| border-width: 5px 0 5px 5px; | |
| border-left-color: #000; | |
| } | |
| .tooltip.bottom .tooltip-arrow { | |
| top: 0; | |
| left: 50%; | |
| margin-left: -5px; | |
| border-width: 0 5px 5px; | |
| border-bottom-color: #000; | |
| } | |
| .tooltip.bottom-left .tooltip-arrow { | |
| top: 0; | |
| right: 5px; | |
| margin-top: -5px; | |
| border-width: 0 5px 5px; | |
| border-bottom-color: #000; | |
| } | |
| .tooltip.bottom-right .tooltip-arrow { | |
| top: 0; | |
| left: 5px; | |
| margin-top: -5px; | |
| border-width: 0 5px 5px; | |
| border-bottom-color: #000; | |
| } | |
| .popover { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| z-index: 1060; | |
| display: none; | |
| max-width: 276px; | |
| padding: 1px; | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| font-style: normal; | |
| font-weight: normal; | |
| letter-spacing: normal; | |
| line-break: auto; | |
| line-height: 1.42857143; | |
| text-align: left; | |
| text-align: start; | |
| text-decoration: none; | |
| text-shadow: none; | |
| text-transform: none; | |
| white-space: normal; | |
| word-break: normal; | |
| word-spacing: normal; | |
| word-wrap: normal; | |
| font-size: 13px; | |
| background-color: #fff; | |
| background-clip: padding-box; | |
| border: 1px solid #ccc; | |
| border: 1px solid rgba(0, 0, 0, 0.2); | |
| border-radius: 3px; | |
| -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
| box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); | |
| } | |
| .popover.top { | |
| margin-top: -10px; | |
| } | |
| .popover.right { | |
| margin-left: 10px; | |
| } | |
| .popover.bottom { | |
| margin-top: 10px; | |
| } | |
| .popover.left { | |
| margin-left: -10px; | |
| } | |
| .popover-title { | |
| margin: 0; | |
| padding: 8px 14px; | |
| font-size: 13px; | |
| background-color: #f7f7f7; | |
| border-bottom: 1px solid #ebebeb; | |
| border-radius: 2px 2px 0 0; | |
| } | |
| .popover-content { | |
| padding: 9px 14px; | |
| } | |
| .popover > .arrow, | |
| .popover > .arrow:after { | |
| position: absolute; | |
| display: block; | |
| width: 0; | |
| height: 0; | |
| border-color: transparent; | |
| border-style: solid; | |
| } | |
| .popover > .arrow { | |
| border-width: 11px; | |
| } | |
| .popover > .arrow:after { | |
| border-width: 10px; | |
| content: ""; | |
| } | |
| .popover.top > .arrow { | |
| left: 50%; | |
| margin-left: -11px; | |
| border-bottom-width: 0; | |
| border-top-color: #999999; | |
| border-top-color: rgba(0, 0, 0, 0.25); | |
| bottom: -11px; | |
| } | |
| .popover.top > .arrow:after { | |
| content: " "; | |
| bottom: 1px; | |
| margin-left: -10px; | |
| border-bottom-width: 0; | |
| border-top-color: #fff; | |
| } | |
| .popover.right > .arrow { | |
| top: 50%; | |
| left: -11px; | |
| margin-top: -11px; | |
| border-left-width: 0; | |
| border-right-color: #999999; | |
| border-right-color: rgba(0, 0, 0, 0.25); | |
| } | |
| .popover.right > .arrow:after { | |
| content: " "; | |
| left: 1px; | |
| bottom: -10px; | |
| border-left-width: 0; | |
| border-right-color: #fff; | |
| } | |
| .popover.bottom > .arrow { | |
| left: 50%; | |
| margin-left: -11px; | |
| border-top-width: 0; | |
| border-bottom-color: #999999; | |
| border-bottom-color: rgba(0, 0, 0, 0.25); | |
| top: -11px; | |
| } | |
| .popover.bottom > .arrow:after { | |
| content: " "; | |
| top: 1px; | |
| margin-left: -10px; | |
| border-top-width: 0; | |
| border-bottom-color: #fff; | |
| } | |
| .popover.left > .arrow { | |
| top: 50%; | |
| right: -11px; | |
| margin-top: -11px; | |
| border-right-width: 0; | |
| border-left-color: #999999; | |
| border-left-color: rgba(0, 0, 0, 0.25); | |
| } | |
| .popover.left > .arrow:after { | |
| content: " "; | |
| right: 1px; | |
| border-right-width: 0; | |
| border-left-color: #fff; | |
| bottom: -10px; | |
| } | |
| .carousel { | |
| position: relative; | |
| } | |
| .carousel-inner { | |
| position: relative; | |
| overflow: hidden; | |
| width: 100%; | |
| } | |
| .carousel-inner > .item { | |
| display: none; | |
| position: relative; | |
| -webkit-transition: 0.6s ease-in-out left; | |
| -o-transition: 0.6s ease-in-out left; | |
| transition: 0.6s ease-in-out left; | |
| } | |
| .carousel-inner > .item > img, | |
| .carousel-inner > .item > a > img { | |
| line-height: 1; | |
| } | |
| @media all and (transform-3d), (-webkit-transform-3d) { | |
| .carousel-inner > .item { | |
| -webkit-transition: -webkit-transform 0.6s ease-in-out; | |
| -moz-transition: -moz-transform 0.6s ease-in-out; | |
| -o-transition: -o-transform 0.6s ease-in-out; | |
| transition: transform 0.6s ease-in-out; | |
| -webkit-backface-visibility: hidden; | |
| -moz-backface-visibility: hidden; | |
| backface-visibility: hidden; | |
| -webkit-perspective: 1000px; | |
| -moz-perspective: 1000px; | |
| perspective: 1000px; | |
| } | |
| .carousel-inner > .item.next, | |
| .carousel-inner > .item.active.right { | |
| -webkit-transform: translate3d(100%, 0, 0); | |
| transform: translate3d(100%, 0, 0); | |
| left: 0; | |
| } | |
| .carousel-inner > .item.prev, | |
| .carousel-inner > .item.active.left { | |
| -webkit-transform: translate3d(-100%, 0, 0); | |
| transform: translate3d(-100%, 0, 0); | |
| left: 0; | |
| } | |
| .carousel-inner > .item.next.left, | |
| .carousel-inner > .item.prev.right, | |
| .carousel-inner > .item.active { | |
| -webkit-transform: translate3d(0, 0, 0); | |
| transform: translate3d(0, 0, 0); | |
| left: 0; | |
| } | |
| } | |
| .carousel-inner > .active, | |
| .carousel-inner > .next, | |
| .carousel-inner > .prev { | |
| display: block; | |
| } | |
| .carousel-inner > .active { | |
| left: 0; | |
| } | |
| .carousel-inner > .next, | |
| .carousel-inner > .prev { | |
| position: absolute; | |
| top: 0; | |
| width: 100%; | |
| } | |
| .carousel-inner > .next { | |
| left: 100%; | |
| } | |
| .carousel-inner > .prev { | |
| left: -100%; | |
| } | |
| .carousel-inner > .next.left, | |
| .carousel-inner > .prev.right { | |
| left: 0; | |
| } | |
| .carousel-inner > .active.left { | |
| left: -100%; | |
| } | |
| .carousel-inner > .active.right { | |
| left: 100%; | |
| } | |
| .carousel-control { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| bottom: 0; | |
| width: 15%; | |
| opacity: 0.5; | |
| filter: alpha(opacity=50); | |
| font-size: 20px; | |
| color: #fff; | |
| text-align: center; | |
| text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); | |
| background-color: rgba(0, 0, 0, 0); | |
| } | |
| .carousel-control.left { | |
| background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); | |
| background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); | |
| background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); | |
| background-repeat: repeat-x; | |
| filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); | |
| } | |
| .carousel-control.right { | |
| left: auto; | |
| right: 0; | |
| background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); | |
| background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); | |
| background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); | |
| background-repeat: repeat-x; | |
| filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); | |
| } | |
| .carousel-control:hover, | |
| .carousel-control:focus { | |
| outline: 0; | |
| color: #fff; | |
| text-decoration: none; | |
| opacity: 0.9; | |
| filter: alpha(opacity=90); | |
| } | |
| .carousel-control .icon-prev, | |
| .carousel-control .icon-next, | |
| .carousel-control .glyphicon-chevron-left, | |
| .carousel-control .glyphicon-chevron-right { | |
| position: absolute; | |
| top: 50%; | |
| margin-top: -10px; | |
| z-index: 5; | |
| display: inline-block; | |
| } | |
| .carousel-control .icon-prev, | |
| .carousel-control .glyphicon-chevron-left { | |
| left: 50%; | |
| margin-left: -10px; | |
| } | |
| .carousel-control .icon-next, | |
| .carousel-control .glyphicon-chevron-right { | |
| right: 50%; | |
| margin-right: -10px; | |
| } | |
| .carousel-control .icon-prev, | |
| .carousel-control .icon-next { | |
| width: 20px; | |
| height: 20px; | |
| line-height: 1; | |
| font-family: serif; | |
| } | |
| .carousel-control .icon-prev:before { | |
| content: '\2039'; | |
| } | |
| .carousel-control .icon-next:before { | |
| content: '\203a'; | |
| } | |
| .carousel-indicators { | |
| position: absolute; | |
| bottom: 10px; | |
| left: 50%; | |
| z-index: 15; | |
| width: 60%; | |
| margin-left: -30%; | |
| padding-left: 0; | |
| list-style: none; | |
| text-align: center; | |
| } | |
| .carousel-indicators li { | |
| display: inline-block; | |
| width: 10px; | |
| height: 10px; | |
| margin: 1px; | |
| text-indent: -999px; | |
| border: 1px solid #fff; | |
| border-radius: 10px; | |
| cursor: pointer; | |
| background-color: #000 \9; | |
| background-color: rgba(0, 0, 0, 0); | |
| } | |
| .carousel-indicators .active { | |
| margin: 0; | |
| width: 12px; | |
| height: 12px; | |
| background-color: #fff; | |
| } | |
| .carousel-caption { | |
| position: absolute; | |
| left: 15%; | |
| right: 15%; | |
| bottom: 20px; | |
| z-index: 10; | |
| padding-top: 20px; | |
| padding-bottom: 20px; | |
| color: #fff; | |
| text-align: center; | |
| text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); | |
| } | |
| .carousel-caption .btn { | |
| text-shadow: none; | |
| } | |
| @media screen and (min-width: 768px) { | |
| .carousel-control .glyphicon-chevron-left, | |
| .carousel-control .glyphicon-chevron-right, | |
| .carousel-control .icon-prev, | |
| .carousel-control .icon-next { | |
| width: 30px; | |
| height: 30px; | |
| margin-top: -10px; | |
| font-size: 30px; | |
| } | |
| .carousel-control .glyphicon-chevron-left, | |
| .carousel-control .icon-prev { | |
| margin-left: -10px; | |
| } | |
| .carousel-control .glyphicon-chevron-right, | |
| .carousel-control .icon-next { | |
| margin-right: -10px; | |
| } | |
| .carousel-caption { | |
| left: 20%; | |
| right: 20%; | |
| padding-bottom: 30px; | |
| } | |
| .carousel-indicators { | |
| bottom: 20px; | |
| } | |
| } | |
| .clearfix:before, | |
| .clearfix:after, | |
| .dl-horizontal dd:before, | |
| .dl-horizontal dd:after, | |
| .container:before, | |
| .container:after, | |
| .container-fluid:before, | |
| .container-fluid:after, | |
| .row:before, | |
| .row:after, | |
| .form-horizontal .form-group:before, | |
| .form-horizontal .form-group:after, | |
| .btn-toolbar:before, | |
| .btn-toolbar:after, | |
| .btn-group-vertical > .btn-group:before, | |
| .btn-group-vertical > .btn-group:after, | |
| .nav:before, | |
| .nav:after, | |
| .navbar:before, | |
| .navbar:after, | |
| .navbar-header:before, | |
| .navbar-header:after, | |
| .navbar-collapse:before, | |
| .navbar-collapse:after, | |
| .pager:before, | |
| .pager:after, | |
| .panel-body:before, | |
| .panel-body:after, | |
| .modal-header:before, | |
| .modal-header:after, | |
| .modal-footer:before, | |
| .modal-footer:after, | |
| .item_buttons:before, | |
| .item_buttons:after { | |
| content: " "; | |
| display: table; | |
| } | |
| .clearfix:after, | |
| .dl-horizontal dd:after, | |
| .container:after, | |
| .container-fluid:after, | |
| .row:after, | |
| .form-horizontal .form-group:after, | |
| .btn-toolbar:after, | |
| .btn-group-vertical > .btn-group:after, | |
| .nav:after, | |
| .navbar:after, | |
| .navbar-header:after, | |
| .navbar-collapse:after, | |
| .pager:after, | |
| .panel-body:after, | |
| .modal-header:after, | |
| .modal-footer:after, | |
| .item_buttons:after { | |
| clear: both; | |
| } | |
| .center-block { | |
| display: block; | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| .pull-right { | |
| float: right !important; | |
| } | |
| .pull-left { | |
| float: left !important; | |
| } | |
| .hide { | |
| display: none !important; | |
| } | |
| .show { | |
| display: block !important; | |
| } | |
| .invisible { | |
| visibility: hidden; | |
| } | |
| .text-hide { | |
| font: 0/0 a; | |
| color: transparent; | |
| text-shadow: none; | |
| background-color: transparent; | |
| border: 0; | |
| } | |
| .hidden { | |
| display: none !important; | |
| } | |
| .affix { | |
| position: fixed; | |
| } | |
| @-ms-viewport { | |
| width: device-width; | |
| } | |
| .visible-xs, | |
| .visible-sm, | |
| .visible-md, | |
| .visible-lg { | |
| display: none !important; | |
| } | |
| .visible-xs-block, | |
| .visible-xs-inline, | |
| .visible-xs-inline-block, | |
| .visible-sm-block, | |
| .visible-sm-inline, | |
| .visible-sm-inline-block, | |
| .visible-md-block, | |
| .visible-md-inline, | |
| .visible-md-inline-block, | |
| .visible-lg-block, | |
| .visible-lg-inline, | |
| .visible-lg-inline-block { | |
| display: none !important; | |
| } | |
| @media (max-width: 767px) { | |
| .visible-xs { | |
| display: block !important; | |
| } | |
| table.visible-xs { | |
| display: table !important; | |
| } | |
| tr.visible-xs { | |
| display: table-row !important; | |
| } | |
| th.visible-xs, | |
| td.visible-xs { | |
| display: table-cell !important; | |
| } | |
| } | |
| @media (max-width: 767px) { | |
| .visible-xs-block { | |
| display: block !important; | |
| } | |
| } | |
| @media (max-width: 767px) { | |
| .visible-xs-inline { | |
| display: inline !important; | |
| } | |
| } | |
| @media (max-width: 767px) { | |
| .visible-xs-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .visible-sm { | |
| display: block !important; | |
| } | |
| table.visible-sm { | |
| display: table !important; | |
| } | |
| tr.visible-sm { | |
| display: table-row !important; | |
| } | |
| th.visible-sm, | |
| td.visible-sm { | |
| display: table-cell !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .visible-sm-block { | |
| display: block !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .visible-sm-inline { | |
| display: inline !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .visible-sm-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .visible-md { | |
| display: block !important; | |
| } | |
| table.visible-md { | |
| display: table !important; | |
| } | |
| tr.visible-md { | |
| display: table-row !important; | |
| } | |
| th.visible-md, | |
| td.visible-md { | |
| display: table-cell !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .visible-md-block { | |
| display: block !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .visible-md-inline { | |
| display: inline !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .visible-md-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .visible-lg { | |
| display: block !important; | |
| } | |
| table.visible-lg { | |
| display: table !important; | |
| } | |
| tr.visible-lg { | |
| display: table-row !important; | |
| } | |
| th.visible-lg, | |
| td.visible-lg { | |
| display: table-cell !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .visible-lg-block { | |
| display: block !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .visible-lg-inline { | |
| display: inline !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .visible-lg-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media (max-width: 767px) { | |
| .hidden-xs { | |
| display: none !important; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| .hidden-sm { | |
| display: none !important; | |
| } | |
| } | |
| @media (min-width: 992px) and (max-width: 1199px) { | |
| .hidden-md { | |
| display: none !important; | |
| } | |
| } | |
| @media (min-width: 1200px) { | |
| .hidden-lg { | |
| display: none !important; | |
| } | |
| } | |
| .visible-print { | |
| display: none !important; | |
| } | |
| @media print { | |
| .visible-print { | |
| display: block !important; | |
| } | |
| table.visible-print { | |
| display: table !important; | |
| } | |
| tr.visible-print { | |
| display: table-row !important; | |
| } | |
| th.visible-print, | |
| td.visible-print { | |
| display: table-cell !important; | |
| } | |
| } | |
| .visible-print-block { | |
| display: none !important; | |
| } | |
| @media print { | |
| .visible-print-block { | |
| display: block !important; | |
| } | |
| } | |
| .visible-print-inline { | |
| display: none !important; | |
| } | |
| @media print { | |
| .visible-print-inline { | |
| display: inline !important; | |
| } | |
| } | |
| .visible-print-inline-block { | |
| display: none !important; | |
| } | |
| @media print { | |
| .visible-print-inline-block { | |
| display: inline-block !important; | |
| } | |
| } | |
| @media print { | |
| .hidden-print { | |
| display: none !important; | |
| } | |
| } | |
| /*! | |
| * | |
| * Font Awesome | |
| * | |
| */ | |
| /*! | |
| * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome | |
| * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) | |
| */ | |
| /* FONT PATH | |
| * -------------------------- */ | |
| @font-face { | |
| font-family: 'FontAwesome'; | |
| src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0'); | |
| src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); | |
| font-weight: normal; | |
| font-style: normal; | |
| } | |
| .fa { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| /* makes the font 33% larger relative to the icon container */ | |
| .fa-lg { | |
| font-size: 1.33333333em; | |
| line-height: 0.75em; | |
| vertical-align: -15%; | |
| } | |
| .fa-2x { | |
| font-size: 2em; | |
| } | |
| .fa-3x { | |
| font-size: 3em; | |
| } | |
| .fa-4x { | |
| font-size: 4em; | |
| } | |
| .fa-5x { | |
| font-size: 5em; | |
| } | |
| .fa-fw { | |
| width: 1.28571429em; | |
| text-align: center; | |
| } | |
| .fa-ul { | |
| padding-left: 0; | |
| margin-left: 2.14285714em; | |
| list-style-type: none; | |
| } | |
| .fa-ul > li { | |
| position: relative; | |
| } | |
| .fa-li { | |
| position: absolute; | |
| left: -2.14285714em; | |
| width: 2.14285714em; | |
| top: 0.14285714em; | |
| text-align: center; | |
| } | |
| .fa-li.fa-lg { | |
| left: -1.85714286em; | |
| } | |
| .fa-border { | |
| padding: .2em .25em .15em; | |
| border: solid 0.08em #eee; | |
| border-radius: .1em; | |
| } | |
| .fa-pull-left { | |
| float: left; | |
| } | |
| .fa-pull-right { | |
| float: right; | |
| } | |
| .fa.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .fa.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| /* Deprecated as of 4.4.0 */ | |
| .pull-right { | |
| float: right; | |
| } | |
| .pull-left { | |
| float: left; | |
| } | |
| .fa.pull-left { | |
| margin-right: .3em; | |
| } | |
| .fa.pull-right { | |
| margin-left: .3em; | |
| } | |
| .fa-spin { | |
| -webkit-animation: fa-spin 2s infinite linear; | |
| animation: fa-spin 2s infinite linear; | |
| } | |
| .fa-pulse { | |
| -webkit-animation: fa-spin 1s infinite steps(8); | |
| animation: fa-spin 1s infinite steps(8); | |
| } | |
| @-webkit-keyframes fa-spin { | |
| 0% { | |
| -webkit-transform: rotate(0deg); | |
| transform: rotate(0deg); | |
| } | |
| 100% { | |
| -webkit-transform: rotate(359deg); | |
| transform: rotate(359deg); | |
| } | |
| } | |
| @keyframes fa-spin { | |
| 0% { | |
| -webkit-transform: rotate(0deg); | |
| transform: rotate(0deg); | |
| } | |
| 100% { | |
| -webkit-transform: rotate(359deg); | |
| transform: rotate(359deg); | |
| } | |
| } | |
| .fa-rotate-90 { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; | |
| -webkit-transform: rotate(90deg); | |
| -ms-transform: rotate(90deg); | |
| transform: rotate(90deg); | |
| } | |
| .fa-rotate-180 { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; | |
| -webkit-transform: rotate(180deg); | |
| -ms-transform: rotate(180deg); | |
| transform: rotate(180deg); | |
| } | |
| .fa-rotate-270 { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; | |
| -webkit-transform: rotate(270deg); | |
| -ms-transform: rotate(270deg); | |
| transform: rotate(270deg); | |
| } | |
| .fa-flip-horizontal { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; | |
| -webkit-transform: scale(-1, 1); | |
| -ms-transform: scale(-1, 1); | |
| transform: scale(-1, 1); | |
| } | |
| .fa-flip-vertical { | |
| -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; | |
| -webkit-transform: scale(1, -1); | |
| -ms-transform: scale(1, -1); | |
| transform: scale(1, -1); | |
| } | |
| :root .fa-rotate-90, | |
| :root .fa-rotate-180, | |
| :root .fa-rotate-270, | |
| :root .fa-flip-horizontal, | |
| :root .fa-flip-vertical { | |
| filter: none; | |
| } | |
| .fa-stack { | |
| position: relative; | |
| display: inline-block; | |
| width: 2em; | |
| height: 2em; | |
| line-height: 2em; | |
| vertical-align: middle; | |
| } | |
| .fa-stack-1x, | |
| .fa-stack-2x { | |
| position: absolute; | |
| left: 0; | |
| width: 100%; | |
| text-align: center; | |
| } | |
| .fa-stack-1x { | |
| line-height: inherit; | |
| } | |
| .fa-stack-2x { | |
| font-size: 2em; | |
| } | |
| .fa-inverse { | |
| color: #fff; | |
| } | |
| /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen | |
| readers do not read off random characters that represent icons */ | |
| .fa-glass:before { | |
| content: "\f000"; | |
| } | |
| .fa-music:before { | |
| content: "\f001"; | |
| } | |
| .fa-search:before { | |
| content: "\f002"; | |
| } | |
| .fa-envelope-o:before { | |
| content: "\f003"; | |
| } | |
| .fa-heart:before { | |
| content: "\f004"; | |
| } | |
| .fa-star:before { | |
| content: "\f005"; | |
| } | |
| .fa-star-o:before { | |
| content: "\f006"; | |
| } | |
| .fa-user:before { | |
| content: "\f007"; | |
| } | |
| .fa-film:before { | |
| content: "\f008"; | |
| } | |
| .fa-th-large:before { | |
| content: "\f009"; | |
| } | |
| .fa-th:before { | |
| content: "\f00a"; | |
| } | |
| .fa-th-list:before { | |
| content: "\f00b"; | |
| } | |
| .fa-check:before { | |
| content: "\f00c"; | |
| } | |
| .fa-remove:before, | |
| .fa-close:before, | |
| .fa-times:before { | |
| content: "\f00d"; | |
| } | |
| .fa-search-plus:before { | |
| content: "\f00e"; | |
| } | |
| .fa-search-minus:before { | |
| content: "\f010"; | |
| } | |
| .fa-power-off:before { | |
| content: "\f011"; | |
| } | |
| .fa-signal:before { | |
| content: "\f012"; | |
| } | |
| .fa-gear:before, | |
| .fa-cog:before { | |
| content: "\f013"; | |
| } | |
| .fa-trash-o:before { | |
| content: "\f014"; | |
| } | |
| .fa-home:before { | |
| content: "\f015"; | |
| } | |
| .fa-file-o:before { | |
| content: "\f016"; | |
| } | |
| .fa-clock-o:before { | |
| content: "\f017"; | |
| } | |
| .fa-road:before { | |
| content: "\f018"; | |
| } | |
| .fa-download:before { | |
| content: "\f019"; | |
| } | |
| .fa-arrow-circle-o-down:before { | |
| content: "\f01a"; | |
| } | |
| .fa-arrow-circle-o-up:before { | |
| content: "\f01b"; | |
| } | |
| .fa-inbox:before { | |
| content: "\f01c"; | |
| } | |
| .fa-play-circle-o:before { | |
| content: "\f01d"; | |
| } | |
| .fa-rotate-right:before, | |
| .fa-repeat:before { | |
| content: "\f01e"; | |
| } | |
| .fa-refresh:before { | |
| content: "\f021"; | |
| } | |
| .fa-list-alt:before { | |
| content: "\f022"; | |
| } | |
| .fa-lock:before { | |
| content: "\f023"; | |
| } | |
| .fa-flag:before { | |
| content: "\f024"; | |
| } | |
| .fa-headphones:before { | |
| content: "\f025"; | |
| } | |
| .fa-volume-off:before { | |
| content: "\f026"; | |
| } | |
| .fa-volume-down:before { | |
| content: "\f027"; | |
| } | |
| .fa-volume-up:before { | |
| content: "\f028"; | |
| } | |
| .fa-qrcode:before { | |
| content: "\f029"; | |
| } | |
| .fa-barcode:before { | |
| content: "\f02a"; | |
| } | |
| .fa-tag:before { | |
| content: "\f02b"; | |
| } | |
| .fa-tags:before { | |
| content: "\f02c"; | |
| } | |
| .fa-book:before { | |
| content: "\f02d"; | |
| } | |
| .fa-bookmark:before { | |
| content: "\f02e"; | |
| } | |
| .fa-print:before { | |
| content: "\f02f"; | |
| } | |
| .fa-camera:before { | |
| content: "\f030"; | |
| } | |
| .fa-font:before { | |
| content: "\f031"; | |
| } | |
| .fa-bold:before { | |
| content: "\f032"; | |
| } | |
| .fa-italic:before { | |
| content: "\f033"; | |
| } | |
| .fa-text-height:before { | |
| content: "\f034"; | |
| } | |
| .fa-text-width:before { | |
| content: "\f035"; | |
| } | |
| .fa-align-left:before { | |
| content: "\f036"; | |
| } | |
| .fa-align-center:before { | |
| content: "\f037"; | |
| } | |
| .fa-align-right:before { | |
| content: "\f038"; | |
| } | |
| .fa-align-justify:before { | |
| content: "\f039"; | |
| } | |
| .fa-list:before { | |
| content: "\f03a"; | |
| } | |
| .fa-dedent:before, | |
| .fa-outdent:before { | |
| content: "\f03b"; | |
| } | |
| .fa-indent:before { | |
| content: "\f03c"; | |
| } | |
| .fa-video-camera:before { | |
| content: "\f03d"; | |
| } | |
| .fa-photo:before, | |
| .fa-image:before, | |
| .fa-picture-o:before { | |
| content: "\f03e"; | |
| } | |
| .fa-pencil:before { | |
| content: "\f040"; | |
| } | |
| .fa-map-marker:before { | |
| content: "\f041"; | |
| } | |
| .fa-adjust:before { | |
| content: "\f042"; | |
| } | |
| .fa-tint:before { | |
| content: "\f043"; | |
| } | |
| .fa-edit:before, | |
| .fa-pencil-square-o:before { | |
| content: "\f044"; | |
| } | |
| .fa-share-square-o:before { | |
| content: "\f045"; | |
| } | |
| .fa-check-square-o:before { | |
| content: "\f046"; | |
| } | |
| .fa-arrows:before { | |
| content: "\f047"; | |
| } | |
| .fa-step-backward:before { | |
| content: "\f048"; | |
| } | |
| .fa-fast-backward:before { | |
| content: "\f049"; | |
| } | |
| .fa-backward:before { | |
| content: "\f04a"; | |
| } | |
| .fa-play:before { | |
| content: "\f04b"; | |
| } | |
| .fa-pause:before { | |
| content: "\f04c"; | |
| } | |
| .fa-stop:before { | |
| content: "\f04d"; | |
| } | |
| .fa-forward:before { | |
| content: "\f04e"; | |
| } | |
| .fa-fast-forward:before { | |
| content: "\f050"; | |
| } | |
| .fa-step-forward:before { | |
| content: "\f051"; | |
| } | |
| .fa-eject:before { | |
| content: "\f052"; | |
| } | |
| .fa-chevron-left:before { | |
| content: "\f053"; | |
| } | |
| .fa-chevron-right:before { | |
| content: "\f054"; | |
| } | |
| .fa-plus-circle:before { | |
| content: "\f055"; | |
| } | |
| .fa-minus-circle:before { | |
| content: "\f056"; | |
| } | |
| .fa-times-circle:before { | |
| content: "\f057"; | |
| } | |
| .fa-check-circle:before { | |
| content: "\f058"; | |
| } | |
| .fa-question-circle:before { | |
| content: "\f059"; | |
| } | |
| .fa-info-circle:before { | |
| content: "\f05a"; | |
| } | |
| .fa-crosshairs:before { | |
| content: "\f05b"; | |
| } | |
| .fa-times-circle-o:before { | |
| content: "\f05c"; | |
| } | |
| .fa-check-circle-o:before { | |
| content: "\f05d"; | |
| } | |
| .fa-ban:before { | |
| content: "\f05e"; | |
| } | |
| .fa-arrow-left:before { | |
| content: "\f060"; | |
| } | |
| .fa-arrow-right:before { | |
| content: "\f061"; | |
| } | |
| .fa-arrow-up:before { | |
| content: "\f062"; | |
| } | |
| .fa-arrow-down:before { | |
| content: "\f063"; | |
| } | |
| .fa-mail-forward:before, | |
| .fa-share:before { | |
| content: "\f064"; | |
| } | |
| .fa-expand:before { | |
| content: "\f065"; | |
| } | |
| .fa-compress:before { | |
| content: "\f066"; | |
| } | |
| .fa-plus:before { | |
| content: "\f067"; | |
| } | |
| .fa-minus:before { | |
| content: "\f068"; | |
| } | |
| .fa-asterisk:before { | |
| content: "\f069"; | |
| } | |
| .fa-exclamation-circle:before { | |
| content: "\f06a"; | |
| } | |
| .fa-gift:before { | |
| content: "\f06b"; | |
| } | |
| .fa-leaf:before { | |
| content: "\f06c"; | |
| } | |
| .fa-fire:before { | |
| content: "\f06d"; | |
| } | |
| .fa-eye:before { | |
| content: "\f06e"; | |
| } | |
| .fa-eye-slash:before { | |
| content: "\f070"; | |
| } | |
| .fa-warning:before, | |
| .fa-exclamation-triangle:before { | |
| content: "\f071"; | |
| } | |
| .fa-plane:before { | |
| content: "\f072"; | |
| } | |
| .fa-calendar:before { | |
| content: "\f073"; | |
| } | |
| .fa-random:before { | |
| content: "\f074"; | |
| } | |
| .fa-comment:before { | |
| content: "\f075"; | |
| } | |
| .fa-magnet:before { | |
| content: "\f076"; | |
| } | |
| .fa-chevron-up:before { | |
| content: "\f077"; | |
| } | |
| .fa-chevron-down:before { | |
| content: "\f078"; | |
| } | |
| .fa-retweet:before { | |
| content: "\f079"; | |
| } | |
| .fa-shopping-cart:before { | |
| content: "\f07a"; | |
| } | |
| .fa-folder:before { | |
| content: "\f07b"; | |
| } | |
| .fa-folder-open:before { | |
| content: "\f07c"; | |
| } | |
| .fa-arrows-v:before { | |
| content: "\f07d"; | |
| } | |
| .fa-arrows-h:before { | |
| content: "\f07e"; | |
| } | |
| .fa-bar-chart-o:before, | |
| .fa-bar-chart:before { | |
| content: "\f080"; | |
| } | |
| .fa-twitter-square:before { | |
| content: "\f081"; | |
| } | |
| .fa-facebook-square:before { | |
| content: "\f082"; | |
| } | |
| .fa-camera-retro:before { | |
| content: "\f083"; | |
| } | |
| .fa-key:before { | |
| content: "\f084"; | |
| } | |
| .fa-gears:before, | |
| .fa-cogs:before { | |
| content: "\f085"; | |
| } | |
| .fa-comments:before { | |
| content: "\f086"; | |
| } | |
| .fa-thumbs-o-up:before { | |
| content: "\f087"; | |
| } | |
| .fa-thumbs-o-down:before { | |
| content: "\f088"; | |
| } | |
| .fa-star-half:before { | |
| content: "\f089"; | |
| } | |
| .fa-heart-o:before { | |
| content: "\f08a"; | |
| } | |
| .fa-sign-out:before { | |
| content: "\f08b"; | |
| } | |
| .fa-linkedin-square:before { | |
| content: "\f08c"; | |
| } | |
| .fa-thumb-tack:before { | |
| content: "\f08d"; | |
| } | |
| .fa-external-link:before { | |
| content: "\f08e"; | |
| } | |
| .fa-sign-in:before { | |
| content: "\f090"; | |
| } | |
| .fa-trophy:before { | |
| content: "\f091"; | |
| } | |
| .fa-github-square:before { | |
| content: "\f092"; | |
| } | |
| .fa-upload:before { | |
| content: "\f093"; | |
| } | |
| .fa-lemon-o:before { | |
| content: "\f094"; | |
| } | |
| .fa-phone:before { | |
| content: "\f095"; | |
| } | |
| .fa-square-o:before { | |
| content: "\f096"; | |
| } | |
| .fa-bookmark-o:before { | |
| content: "\f097"; | |
| } | |
| .fa-phone-square:before { | |
| content: "\f098"; | |
| } | |
| .fa-twitter:before { | |
| content: "\f099"; | |
| } | |
| .fa-facebook-f:before, | |
| .fa-facebook:before { | |
| content: "\f09a"; | |
| } | |
| .fa-github:before { | |
| content: "\f09b"; | |
| } | |
| .fa-unlock:before { | |
| content: "\f09c"; | |
| } | |
| .fa-credit-card:before { | |
| content: "\f09d"; | |
| } | |
| .fa-feed:before, | |
| .fa-rss:before { | |
| content: "\f09e"; | |
| } | |
| .fa-hdd-o:before { | |
| content: "\f0a0"; | |
| } | |
| .fa-bullhorn:before { | |
| content: "\f0a1"; | |
| } | |
| .fa-bell:before { | |
| content: "\f0f3"; | |
| } | |
| .fa-certificate:before { | |
| content: "\f0a3"; | |
| } | |
| .fa-hand-o-right:before { | |
| content: "\f0a4"; | |
| } | |
| .fa-hand-o-left:before { | |
| content: "\f0a5"; | |
| } | |
| .fa-hand-o-up:before { | |
| content: "\f0a6"; | |
| } | |
| .fa-hand-o-down:before { | |
| content: "\f0a7"; | |
| } | |
| .fa-arrow-circle-left:before { | |
| content: "\f0a8"; | |
| } | |
| .fa-arrow-circle-right:before { | |
| content: "\f0a9"; | |
| } | |
| .fa-arrow-circle-up:before { | |
| content: "\f0aa"; | |
| } | |
| .fa-arrow-circle-down:before { | |
| content: "\f0ab"; | |
| } | |
| .fa-globe:before { | |
| content: "\f0ac"; | |
| } | |
| .fa-wrench:before { | |
| content: "\f0ad"; | |
| } | |
| .fa-tasks:before { | |
| content: "\f0ae"; | |
| } | |
| .fa-filter:before { | |
| content: "\f0b0"; | |
| } | |
| .fa-briefcase:before { | |
| content: "\f0b1"; | |
| } | |
| .fa-arrows-alt:before { | |
| content: "\f0b2"; | |
| } | |
| .fa-group:before, | |
| .fa-users:before { | |
| content: "\f0c0"; | |
| } | |
| .fa-chain:before, | |
| .fa-link:before { | |
| content: "\f0c1"; | |
| } | |
| .fa-cloud:before { | |
| content: "\f0c2"; | |
| } | |
| .fa-flask:before { | |
| content: "\f0c3"; | |
| } | |
| .fa-cut:before, | |
| .fa-scissors:before { | |
| content: "\f0c4"; | |
| } | |
| .fa-copy:before, | |
| .fa-files-o:before { | |
| content: "\f0c5"; | |
| } | |
| .fa-paperclip:before { | |
| content: "\f0c6"; | |
| } | |
| .fa-save:before, | |
| .fa-floppy-o:before { | |
| content: "\f0c7"; | |
| } | |
| .fa-square:before { | |
| content: "\f0c8"; | |
| } | |
| .fa-navicon:before, | |
| .fa-reorder:before, | |
| .fa-bars:before { | |
| content: "\f0c9"; | |
| } | |
| .fa-list-ul:before { | |
| content: "\f0ca"; | |
| } | |
| .fa-list-ol:before { | |
| content: "\f0cb"; | |
| } | |
| .fa-strikethrough:before { | |
| content: "\f0cc"; | |
| } | |
| .fa-underline:before { | |
| content: "\f0cd"; | |
| } | |
| .fa-table:before { | |
| content: "\f0ce"; | |
| } | |
| .fa-magic:before { | |
| content: "\f0d0"; | |
| } | |
| .fa-truck:before { | |
| content: "\f0d1"; | |
| } | |
| .fa-pinterest:before { | |
| content: "\f0d2"; | |
| } | |
| .fa-pinterest-square:before { | |
| content: "\f0d3"; | |
| } | |
| .fa-google-plus-square:before { | |
| content: "\f0d4"; | |
| } | |
| .fa-google-plus:before { | |
| content: "\f0d5"; | |
| } | |
| .fa-money:before { | |
| content: "\f0d6"; | |
| } | |
| .fa-caret-down:before { | |
| content: "\f0d7"; | |
| } | |
| .fa-caret-up:before { | |
| content: "\f0d8"; | |
| } | |
| .fa-caret-left:before { | |
| content: "\f0d9"; | |
| } | |
| .fa-caret-right:before { | |
| content: "\f0da"; | |
| } | |
| .fa-columns:before { | |
| content: "\f0db"; | |
| } | |
| .fa-unsorted:before, | |
| .fa-sort:before { | |
| content: "\f0dc"; | |
| } | |
| .fa-sort-down:before, | |
| .fa-sort-desc:before { | |
| content: "\f0dd"; | |
| } | |
| .fa-sort-up:before, | |
| .fa-sort-asc:before { | |
| content: "\f0de"; | |
| } | |
| .fa-envelope:before { | |
| content: "\f0e0"; | |
| } | |
| .fa-linkedin:before { | |
| content: "\f0e1"; | |
| } | |
| .fa-rotate-left:before, | |
| .fa-undo:before { | |
| content: "\f0e2"; | |
| } | |
| .fa-legal:before, | |
| .fa-gavel:before { | |
| content: "\f0e3"; | |
| } | |
| .fa-dashboard:before, | |
| .fa-tachometer:before { | |
| content: "\f0e4"; | |
| } | |
| .fa-comment-o:before { | |
| content: "\f0e5"; | |
| } | |
| .fa-comments-o:before { | |
| content: "\f0e6"; | |
| } | |
| .fa-flash:before, | |
| .fa-bolt:before { | |
| content: "\f0e7"; | |
| } | |
| .fa-sitemap:before { | |
| content: "\f0e8"; | |
| } | |
| .fa-umbrella:before { | |
| content: "\f0e9"; | |
| } | |
| .fa-paste:before, | |
| .fa-clipboard:before { | |
| content: "\f0ea"; | |
| } | |
| .fa-lightbulb-o:before { | |
| content: "\f0eb"; | |
| } | |
| .fa-exchange:before { | |
| content: "\f0ec"; | |
| } | |
| .fa-cloud-download:before { | |
| content: "\f0ed"; | |
| } | |
| .fa-cloud-upload:before { | |
| content: "\f0ee"; | |
| } | |
| .fa-user-md:before { | |
| content: "\f0f0"; | |
| } | |
| .fa-stethoscope:before { | |
| content: "\f0f1"; | |
| } | |
| .fa-suitcase:before { | |
| content: "\f0f2"; | |
| } | |
| .fa-bell-o:before { | |
| content: "\f0a2"; | |
| } | |
| .fa-coffee:before { | |
| content: "\f0f4"; | |
| } | |
| .fa-cutlery:before { | |
| content: "\f0f5"; | |
| } | |
| .fa-file-text-o:before { | |
| content: "\f0f6"; | |
| } | |
| .fa-building-o:before { | |
| content: "\f0f7"; | |
| } | |
| .fa-hospital-o:before { | |
| content: "\f0f8"; | |
| } | |
| .fa-ambulance:before { | |
| content: "\f0f9"; | |
| } | |
| .fa-medkit:before { | |
| content: "\f0fa"; | |
| } | |
| .fa-fighter-jet:before { | |
| content: "\f0fb"; | |
| } | |
| .fa-beer:before { | |
| content: "\f0fc"; | |
| } | |
| .fa-h-square:before { | |
| content: "\f0fd"; | |
| } | |
| .fa-plus-square:before { | |
| content: "\f0fe"; | |
| } | |
| .fa-angle-double-left:before { | |
| content: "\f100"; | |
| } | |
| .fa-angle-double-right:before { | |
| content: "\f101"; | |
| } | |
| .fa-angle-double-up:before { | |
| content: "\f102"; | |
| } | |
| .fa-angle-double-down:before { | |
| content: "\f103"; | |
| } | |
| .fa-angle-left:before { | |
| content: "\f104"; | |
| } | |
| .fa-angle-right:before { | |
| content: "\f105"; | |
| } | |
| .fa-angle-up:before { | |
| content: "\f106"; | |
| } | |
| .fa-angle-down:before { | |
| content: "\f107"; | |
| } | |
| .fa-desktop:before { | |
| content: "\f108"; | |
| } | |
| .fa-laptop:before { | |
| content: "\f109"; | |
| } | |
| .fa-tablet:before { | |
| content: "\f10a"; | |
| } | |
| .fa-mobile-phone:before, | |
| .fa-mobile:before { | |
| content: "\f10b"; | |
| } | |
| .fa-circle-o:before { | |
| content: "\f10c"; | |
| } | |
| .fa-quote-left:before { | |
| content: "\f10d"; | |
| } | |
| .fa-quote-right:before { | |
| content: "\f10e"; | |
| } | |
| .fa-spinner:before { | |
| content: "\f110"; | |
| } | |
| .fa-circle:before { | |
| content: "\f111"; | |
| } | |
| .fa-mail-reply:before, | |
| .fa-reply:before { | |
| content: "\f112"; | |
| } | |
| .fa-github-alt:before { | |
| content: "\f113"; | |
| } | |
| .fa-folder-o:before { | |
| content: "\f114"; | |
| } | |
| .fa-folder-open-o:before { | |
| content: "\f115"; | |
| } | |
| .fa-smile-o:before { | |
| content: "\f118"; | |
| } | |
| .fa-frown-o:before { | |
| content: "\f119"; | |
| } | |
| .fa-meh-o:before { | |
| content: "\f11a"; | |
| } | |
| .fa-gamepad:before { | |
| content: "\f11b"; | |
| } | |
| .fa-keyboard-o:before { | |
| content: "\f11c"; | |
| } | |
| .fa-flag-o:before { | |
| content: "\f11d"; | |
| } | |
| .fa-flag-checkered:before { | |
| content: "\f11e"; | |
| } | |
| .fa-terminal:before { | |
| content: "\f120"; | |
| } | |
| .fa-code:before { | |
| content: "\f121"; | |
| } | |
| .fa-mail-reply-all:before, | |
| .fa-reply-all:before { | |
| content: "\f122"; | |
| } | |
| .fa-star-half-empty:before, | |
| .fa-star-half-full:before, | |
| .fa-star-half-o:before { | |
| content: "\f123"; | |
| } | |
| .fa-location-arrow:before { | |
| content: "\f124"; | |
| } | |
| .fa-crop:before { | |
| content: "\f125"; | |
| } | |
| .fa-code-fork:before { | |
| content: "\f126"; | |
| } | |
| .fa-unlink:before, | |
| .fa-chain-broken:before { | |
| content: "\f127"; | |
| } | |
| .fa-question:before { | |
| content: "\f128"; | |
| } | |
| .fa-info:before { | |
| content: "\f129"; | |
| } | |
| .fa-exclamation:before { | |
| content: "\f12a"; | |
| } | |
| .fa-superscript:before { | |
| content: "\f12b"; | |
| } | |
| .fa-subscript:before { | |
| content: "\f12c"; | |
| } | |
| .fa-eraser:before { | |
| content: "\f12d"; | |
| } | |
| .fa-puzzle-piece:before { | |
| content: "\f12e"; | |
| } | |
| .fa-microphone:before { | |
| content: "\f130"; | |
| } | |
| .fa-microphone-slash:before { | |
| content: "\f131"; | |
| } | |
| .fa-shield:before { | |
| content: "\f132"; | |
| } | |
| .fa-calendar-o:before { | |
| content: "\f133"; | |
| } | |
| .fa-fire-extinguisher:before { | |
| content: "\f134"; | |
| } | |
| .fa-rocket:before { | |
| content: "\f135"; | |
| } | |
| .fa-maxcdn:before { | |
| content: "\f136"; | |
| } | |
| .fa-chevron-circle-left:before { | |
| content: "\f137"; | |
| } | |
| .fa-chevron-circle-right:before { | |
| content: "\f138"; | |
| } | |
| .fa-chevron-circle-up:before { | |
| content: "\f139"; | |
| } | |
| .fa-chevron-circle-down:before { | |
| content: "\f13a"; | |
| } | |
| .fa-html5:before { | |
| content: "\f13b"; | |
| } | |
| .fa-css3:before { | |
| content: "\f13c"; | |
| } | |
| .fa-anchor:before { | |
| content: "\f13d"; | |
| } | |
| .fa-unlock-alt:before { | |
| content: "\f13e"; | |
| } | |
| .fa-bullseye:before { | |
| content: "\f140"; | |
| } | |
| .fa-ellipsis-h:before { | |
| content: "\f141"; | |
| } | |
| .fa-ellipsis-v:before { | |
| content: "\f142"; | |
| } | |
| .fa-rss-square:before { | |
| content: "\f143"; | |
| } | |
| .fa-play-circle:before { | |
| content: "\f144"; | |
| } | |
| .fa-ticket:before { | |
| content: "\f145"; | |
| } | |
| .fa-minus-square:before { | |
| content: "\f146"; | |
| } | |
| .fa-minus-square-o:before { | |
| content: "\f147"; | |
| } | |
| .fa-level-up:before { | |
| content: "\f148"; | |
| } | |
| .fa-level-down:before { | |
| content: "\f149"; | |
| } | |
| .fa-check-square:before { | |
| content: "\f14a"; | |
| } | |
| .fa-pencil-square:before { | |
| content: "\f14b"; | |
| } | |
| .fa-external-link-square:before { | |
| content: "\f14c"; | |
| } | |
| .fa-share-square:before { | |
| content: "\f14d"; | |
| } | |
| .fa-compass:before { | |
| content: "\f14e"; | |
| } | |
| .fa-toggle-down:before, | |
| .fa-caret-square-o-down:before { | |
| content: "\f150"; | |
| } | |
| .fa-toggle-up:before, | |
| .fa-caret-square-o-up:before { | |
| content: "\f151"; | |
| } | |
| .fa-toggle-right:before, | |
| .fa-caret-square-o-right:before { | |
| content: "\f152"; | |
| } | |
| .fa-euro:before, | |
| .fa-eur:before { | |
| content: "\f153"; | |
| } | |
| .fa-gbp:before { | |
| content: "\f154"; | |
| } | |
| .fa-dollar:before, | |
| .fa-usd:before { | |
| content: "\f155"; | |
| } | |
| .fa-rupee:before, | |
| .fa-inr:before { | |
| content: "\f156"; | |
| } | |
| .fa-cny:before, | |
| .fa-rmb:before, | |
| .fa-yen:before, | |
| .fa-jpy:before { | |
| content: "\f157"; | |
| } | |
| .fa-ruble:before, | |
| .fa-rouble:before, | |
| .fa-rub:before { | |
| content: "\f158"; | |
| } | |
| .fa-won:before, | |
| .fa-krw:before { | |
| content: "\f159"; | |
| } | |
| .fa-bitcoin:before, | |
| .fa-btc:before { | |
| content: "\f15a"; | |
| } | |
| .fa-file:before { | |
| content: "\f15b"; | |
| } | |
| .fa-file-text:before { | |
| content: "\f15c"; | |
| } | |
| .fa-sort-alpha-asc:before { | |
| content: "\f15d"; | |
| } | |
| .fa-sort-alpha-desc:before { | |
| content: "\f15e"; | |
| } | |
| .fa-sort-amount-asc:before { | |
| content: "\f160"; | |
| } | |
| .fa-sort-amount-desc:before { | |
| content: "\f161"; | |
| } | |
| .fa-sort-numeric-asc:before { | |
| content: "\f162"; | |
| } | |
| .fa-sort-numeric-desc:before { | |
| content: "\f163"; | |
| } | |
| .fa-thumbs-up:before { | |
| content: "\f164"; | |
| } | |
| .fa-thumbs-down:before { | |
| content: "\f165"; | |
| } | |
| .fa-youtube-square:before { | |
| content: "\f166"; | |
| } | |
| .fa-youtube:before { | |
| content: "\f167"; | |
| } | |
| .fa-xing:before { | |
| content: "\f168"; | |
| } | |
| .fa-xing-square:before { | |
| content: "\f169"; | |
| } | |
| .fa-youtube-play:before { | |
| content: "\f16a"; | |
| } | |
| .fa-dropbox:before { | |
| content: "\f16b"; | |
| } | |
| .fa-stack-overflow:before { | |
| content: "\f16c"; | |
| } | |
| .fa-instagram:before { | |
| content: "\f16d"; | |
| } | |
| .fa-flickr:before { | |
| content: "\f16e"; | |
| } | |
| .fa-adn:before { | |
| content: "\f170"; | |
| } | |
| .fa-bitbucket:before { | |
| content: "\f171"; | |
| } | |
| .fa-bitbucket-square:before { | |
| content: "\f172"; | |
| } | |
| .fa-tumblr:before { | |
| content: "\f173"; | |
| } | |
| .fa-tumblr-square:before { | |
| content: "\f174"; | |
| } | |
| .fa-long-arrow-down:before { | |
| content: "\f175"; | |
| } | |
| .fa-long-arrow-up:before { | |
| content: "\f176"; | |
| } | |
| .fa-long-arrow-left:before { | |
| content: "\f177"; | |
| } | |
| .fa-long-arrow-right:before { | |
| content: "\f178"; | |
| } | |
| .fa-apple:before { | |
| content: "\f179"; | |
| } | |
| .fa-windows:before { | |
| content: "\f17a"; | |
| } | |
| .fa-android:before { | |
| content: "\f17b"; | |
| } | |
| .fa-linux:before { | |
| content: "\f17c"; | |
| } | |
| .fa-dribbble:before { | |
| content: "\f17d"; | |
| } | |
| .fa-skype:before { | |
| content: "\f17e"; | |
| } | |
| .fa-foursquare:before { | |
| content: "\f180"; | |
| } | |
| .fa-trello:before { | |
| content: "\f181"; | |
| } | |
| .fa-female:before { | |
| content: "\f182"; | |
| } | |
| .fa-male:before { | |
| content: "\f183"; | |
| } | |
| .fa-gittip:before, | |
| .fa-gratipay:before { | |
| content: "\f184"; | |
| } | |
| .fa-sun-o:before { | |
| content: "\f185"; | |
| } | |
| .fa-moon-o:before { | |
| content: "\f186"; | |
| } | |
| .fa-archive:before { | |
| content: "\f187"; | |
| } | |
| .fa-bug:before { | |
| content: "\f188"; | |
| } | |
| .fa-vk:before { | |
| content: "\f189"; | |
| } | |
| .fa-weibo:before { | |
| content: "\f18a"; | |
| } | |
| .fa-renren:before { | |
| content: "\f18b"; | |
| } | |
| .fa-pagelines:before { | |
| content: "\f18c"; | |
| } | |
| .fa-stack-exchange:before { | |
| content: "\f18d"; | |
| } | |
| .fa-arrow-circle-o-right:before { | |
| content: "\f18e"; | |
| } | |
| .fa-arrow-circle-o-left:before { | |
| content: "\f190"; | |
| } | |
| .fa-toggle-left:before, | |
| .fa-caret-square-o-left:before { | |
| content: "\f191"; | |
| } | |
| .fa-dot-circle-o:before { | |
| content: "\f192"; | |
| } | |
| .fa-wheelchair:before { | |
| content: "\f193"; | |
| } | |
| .fa-vimeo-square:before { | |
| content: "\f194"; | |
| } | |
| .fa-turkish-lira:before, | |
| .fa-try:before { | |
| content: "\f195"; | |
| } | |
| .fa-plus-square-o:before { | |
| content: "\f196"; | |
| } | |
| .fa-space-shuttle:before { | |
| content: "\f197"; | |
| } | |
| .fa-slack:before { | |
| content: "\f198"; | |
| } | |
| .fa-envelope-square:before { | |
| content: "\f199"; | |
| } | |
| .fa-wordpress:before { | |
| content: "\f19a"; | |
| } | |
| .fa-openid:before { | |
| content: "\f19b"; | |
| } | |
| .fa-institution:before, | |
| .fa-bank:before, | |
| .fa-university:before { | |
| content: "\f19c"; | |
| } | |
| .fa-mortar-board:before, | |
| .fa-graduation-cap:before { | |
| content: "\f19d"; | |
| } | |
| .fa-yahoo:before { | |
| content: "\f19e"; | |
| } | |
| .fa-google:before { | |
| content: "\f1a0"; | |
| } | |
| .fa-reddit:before { | |
| content: "\f1a1"; | |
| } | |
| .fa-reddit-square:before { | |
| content: "\f1a2"; | |
| } | |
| .fa-stumbleupon-circle:before { | |
| content: "\f1a3"; | |
| } | |
| .fa-stumbleupon:before { | |
| content: "\f1a4"; | |
| } | |
| .fa-delicious:before { | |
| content: "\f1a5"; | |
| } | |
| .fa-digg:before { | |
| content: "\f1a6"; | |
| } | |
| .fa-pied-piper-pp:before { | |
| content: "\f1a7"; | |
| } | |
| .fa-pied-piper-alt:before { | |
| content: "\f1a8"; | |
| } | |
| .fa-drupal:before { | |
| content: "\f1a9"; | |
| } | |
| .fa-joomla:before { | |
| content: "\f1aa"; | |
| } | |
| .fa-language:before { | |
| content: "\f1ab"; | |
| } | |
| .fa-fax:before { | |
| content: "\f1ac"; | |
| } | |
| .fa-building:before { | |
| content: "\f1ad"; | |
| } | |
| .fa-child:before { | |
| content: "\f1ae"; | |
| } | |
| .fa-paw:before { | |
| content: "\f1b0"; | |
| } | |
| .fa-spoon:before { | |
| content: "\f1b1"; | |
| } | |
| .fa-cube:before { | |
| content: "\f1b2"; | |
| } | |
| .fa-cubes:before { | |
| content: "\f1b3"; | |
| } | |
| .fa-behance:before { | |
| content: "\f1b4"; | |
| } | |
| .fa-behance-square:before { | |
| content: "\f1b5"; | |
| } | |
| .fa-steam:before { | |
| content: "\f1b6"; | |
| } | |
| .fa-steam-square:before { | |
| content: "\f1b7"; | |
| } | |
| .fa-recycle:before { | |
| content: "\f1b8"; | |
| } | |
| .fa-automobile:before, | |
| .fa-car:before { | |
| content: "\f1b9"; | |
| } | |
| .fa-cab:before, | |
| .fa-taxi:before { | |
| content: "\f1ba"; | |
| } | |
| .fa-tree:before { | |
| content: "\f1bb"; | |
| } | |
| .fa-spotify:before { | |
| content: "\f1bc"; | |
| } | |
| .fa-deviantart:before { | |
| content: "\f1bd"; | |
| } | |
| .fa-soundcloud:before { | |
| content: "\f1be"; | |
| } | |
| .fa-database:before { | |
| content: "\f1c0"; | |
| } | |
| .fa-file-pdf-o:before { | |
| content: "\f1c1"; | |
| } | |
| .fa-file-word-o:before { | |
| content: "\f1c2"; | |
| } | |
| .fa-file-excel-o:before { | |
| content: "\f1c3"; | |
| } | |
| .fa-file-powerpoint-o:before { | |
| content: "\f1c4"; | |
| } | |
| .fa-file-photo-o:before, | |
| .fa-file-picture-o:before, | |
| .fa-file-image-o:before { | |
| content: "\f1c5"; | |
| } | |
| .fa-file-zip-o:before, | |
| .fa-file-archive-o:before { | |
| content: "\f1c6"; | |
| } | |
| .fa-file-sound-o:before, | |
| .fa-file-audio-o:before { | |
| content: "\f1c7"; | |
| } | |
| .fa-file-movie-o:before, | |
| .fa-file-video-o:before { | |
| content: "\f1c8"; | |
| } | |
| .fa-file-code-o:before { | |
| content: "\f1c9"; | |
| } | |
| .fa-vine:before { | |
| content: "\f1ca"; | |
| } | |
| .fa-codepen:before { | |
| content: "\f1cb"; | |
| } | |
| .fa-jsfiddle:before { | |
| content: "\f1cc"; | |
| } | |
| .fa-life-bouy:before, | |
| .fa-life-buoy:before, | |
| .fa-life-saver:before, | |
| .fa-support:before, | |
| .fa-life-ring:before { | |
| content: "\f1cd"; | |
| } | |
| .fa-circle-o-notch:before { | |
| content: "\f1ce"; | |
| } | |
| .fa-ra:before, | |
| .fa-resistance:before, | |
| .fa-rebel:before { | |
| content: "\f1d0"; | |
| } | |
| .fa-ge:before, | |
| .fa-empire:before { | |
| content: "\f1d1"; | |
| } | |
| .fa-git-square:before { | |
| content: "\f1d2"; | |
| } | |
| .fa-git:before { | |
| content: "\f1d3"; | |
| } | |
| .fa-y-combinator-square:before, | |
| .fa-yc-square:before, | |
| .fa-hacker-news:before { | |
| content: "\f1d4"; | |
| } | |
| .fa-tencent-weibo:before { | |
| content: "\f1d5"; | |
| } | |
| .fa-qq:before { | |
| content: "\f1d6"; | |
| } | |
| .fa-wechat:before, | |
| .fa-weixin:before { | |
| content: "\f1d7"; | |
| } | |
| .fa-send:before, | |
| .fa-paper-plane:before { | |
| content: "\f1d8"; | |
| } | |
| .fa-send-o:before, | |
| .fa-paper-plane-o:before { | |
| content: "\f1d9"; | |
| } | |
| .fa-history:before { | |
| content: "\f1da"; | |
| } | |
| .fa-circle-thin:before { | |
| content: "\f1db"; | |
| } | |
| .fa-header:before { | |
| content: "\f1dc"; | |
| } | |
| .fa-paragraph:before { | |
| content: "\f1dd"; | |
| } | |
| .fa-sliders:before { | |
| content: "\f1de"; | |
| } | |
| .fa-share-alt:before { | |
| content: "\f1e0"; | |
| } | |
| .fa-share-alt-square:before { | |
| content: "\f1e1"; | |
| } | |
| .fa-bomb:before { | |
| content: "\f1e2"; | |
| } | |
| .fa-soccer-ball-o:before, | |
| .fa-futbol-o:before { | |
| content: "\f1e3"; | |
| } | |
| .fa-tty:before { | |
| content: "\f1e4"; | |
| } | |
| .fa-binoculars:before { | |
| content: "\f1e5"; | |
| } | |
| .fa-plug:before { | |
| content: "\f1e6"; | |
| } | |
| .fa-slideshare:before { | |
| content: "\f1e7"; | |
| } | |
| .fa-twitch:before { | |
| content: "\f1e8"; | |
| } | |
| .fa-yelp:before { | |
| content: "\f1e9"; | |
| } | |
| .fa-newspaper-o:before { | |
| content: "\f1ea"; | |
| } | |
| .fa-wifi:before { | |
| content: "\f1eb"; | |
| } | |
| .fa-calculator:before { | |
| content: "\f1ec"; | |
| } | |
| .fa-paypal:before { | |
| content: "\f1ed"; | |
| } | |
| .fa-google-wallet:before { | |
| content: "\f1ee"; | |
| } | |
| .fa-cc-visa:before { | |
| content: "\f1f0"; | |
| } | |
| .fa-cc-mastercard:before { | |
| content: "\f1f1"; | |
| } | |
| .fa-cc-discover:before { | |
| content: "\f1f2"; | |
| } | |
| .fa-cc-amex:before { | |
| content: "\f1f3"; | |
| } | |
| .fa-cc-paypal:before { | |
| content: "\f1f4"; | |
| } | |
| .fa-cc-stripe:before { | |
| content: "\f1f5"; | |
| } | |
| .fa-bell-slash:before { | |
| content: "\f1f6"; | |
| } | |
| .fa-bell-slash-o:before { | |
| content: "\f1f7"; | |
| } | |
| .fa-trash:before { | |
| content: "\f1f8"; | |
| } | |
| .fa-copyright:before { | |
| content: "\f1f9"; | |
| } | |
| .fa-at:before { | |
| content: "\f1fa"; | |
| } | |
| .fa-eyedropper:before { | |
| content: "\f1fb"; | |
| } | |
| .fa-paint-brush:before { | |
| content: "\f1fc"; | |
| } | |
| .fa-birthday-cake:before { | |
| content: "\f1fd"; | |
| } | |
| .fa-area-chart:before { | |
| content: "\f1fe"; | |
| } | |
| .fa-pie-chart:before { | |
| content: "\f200"; | |
| } | |
| .fa-line-chart:before { | |
| content: "\f201"; | |
| } | |
| .fa-lastfm:before { | |
| content: "\f202"; | |
| } | |
| .fa-lastfm-square:before { | |
| content: "\f203"; | |
| } | |
| .fa-toggle-off:before { | |
| content: "\f204"; | |
| } | |
| .fa-toggle-on:before { | |
| content: "\f205"; | |
| } | |
| .fa-bicycle:before { | |
| content: "\f206"; | |
| } | |
| .fa-bus:before { | |
| content: "\f207"; | |
| } | |
| .fa-ioxhost:before { | |
| content: "\f208"; | |
| } | |
| .fa-angellist:before { | |
| content: "\f209"; | |
| } | |
| .fa-cc:before { | |
| content: "\f20a"; | |
| } | |
| .fa-shekel:before, | |
| .fa-sheqel:before, | |
| .fa-ils:before { | |
| content: "\f20b"; | |
| } | |
| .fa-meanpath:before { | |
| content: "\f20c"; | |
| } | |
| .fa-buysellads:before { | |
| content: "\f20d"; | |
| } | |
| .fa-connectdevelop:before { | |
| content: "\f20e"; | |
| } | |
| .fa-dashcube:before { | |
| content: "\f210"; | |
| } | |
| .fa-forumbee:before { | |
| content: "\f211"; | |
| } | |
| .fa-leanpub:before { | |
| content: "\f212"; | |
| } | |
| .fa-sellsy:before { | |
| content: "\f213"; | |
| } | |
| .fa-shirtsinbulk:before { | |
| content: "\f214"; | |
| } | |
| .fa-simplybuilt:before { | |
| content: "\f215"; | |
| } | |
| .fa-skyatlas:before { | |
| content: "\f216"; | |
| } | |
| .fa-cart-plus:before { | |
| content: "\f217"; | |
| } | |
| .fa-cart-arrow-down:before { | |
| content: "\f218"; | |
| } | |
| .fa-diamond:before { | |
| content: "\f219"; | |
| } | |
| .fa-ship:before { | |
| content: "\f21a"; | |
| } | |
| .fa-user-secret:before { | |
| content: "\f21b"; | |
| } | |
| .fa-motorcycle:before { | |
| content: "\f21c"; | |
| } | |
| .fa-street-view:before { | |
| content: "\f21d"; | |
| } | |
| .fa-heartbeat:before { | |
| content: "\f21e"; | |
| } | |
| .fa-venus:before { | |
| content: "\f221"; | |
| } | |
| .fa-mars:before { | |
| content: "\f222"; | |
| } | |
| .fa-mercury:before { | |
| content: "\f223"; | |
| } | |
| .fa-intersex:before, | |
| .fa-transgender:before { | |
| content: "\f224"; | |
| } | |
| .fa-transgender-alt:before { | |
| content: "\f225"; | |
| } | |
| .fa-venus-double:before { | |
| content: "\f226"; | |
| } | |
| .fa-mars-double:before { | |
| content: "\f227"; | |
| } | |
| .fa-venus-mars:before { | |
| content: "\f228"; | |
| } | |
| .fa-mars-stroke:before { | |
| content: "\f229"; | |
| } | |
| .fa-mars-stroke-v:before { | |
| content: "\f22a"; | |
| } | |
| .fa-mars-stroke-h:before { | |
| content: "\f22b"; | |
| } | |
| .fa-neuter:before { | |
| content: "\f22c"; | |
| } | |
| .fa-genderless:before { | |
| content: "\f22d"; | |
| } | |
| .fa-facebook-official:before { | |
| content: "\f230"; | |
| } | |
| .fa-pinterest-p:before { | |
| content: "\f231"; | |
| } | |
| .fa-whatsapp:before { | |
| content: "\f232"; | |
| } | |
| .fa-server:before { | |
| content: "\f233"; | |
| } | |
| .fa-user-plus:before { | |
| content: "\f234"; | |
| } | |
| .fa-user-times:before { | |
| content: "\f235"; | |
| } | |
| .fa-hotel:before, | |
| .fa-bed:before { | |
| content: "\f236"; | |
| } | |
| .fa-viacoin:before { | |
| content: "\f237"; | |
| } | |
| .fa-train:before { | |
| content: "\f238"; | |
| } | |
| .fa-subway:before { | |
| content: "\f239"; | |
| } | |
| .fa-medium:before { | |
| content: "\f23a"; | |
| } | |
| .fa-yc:before, | |
| .fa-y-combinator:before { | |
| content: "\f23b"; | |
| } | |
| .fa-optin-monster:before { | |
| content: "\f23c"; | |
| } | |
| .fa-opencart:before { | |
| content: "\f23d"; | |
| } | |
| .fa-expeditedssl:before { | |
| content: "\f23e"; | |
| } | |
| .fa-battery-4:before, | |
| .fa-battery:before, | |
| .fa-battery-full:before { | |
| content: "\f240"; | |
| } | |
| .fa-battery-3:before, | |
| .fa-battery-three-quarters:before { | |
| content: "\f241"; | |
| } | |
| .fa-battery-2:before, | |
| .fa-battery-half:before { | |
| content: "\f242"; | |
| } | |
| .fa-battery-1:before, | |
| .fa-battery-quarter:before { | |
| content: "\f243"; | |
| } | |
| .fa-battery-0:before, | |
| .fa-battery-empty:before { | |
| content: "\f244"; | |
| } | |
| .fa-mouse-pointer:before { | |
| content: "\f245"; | |
| } | |
| .fa-i-cursor:before { | |
| content: "\f246"; | |
| } | |
| .fa-object-group:before { | |
| content: "\f247"; | |
| } | |
| .fa-object-ungroup:before { | |
| content: "\f248"; | |
| } | |
| .fa-sticky-note:before { | |
| content: "\f249"; | |
| } | |
| .fa-sticky-note-o:before { | |
| content: "\f24a"; | |
| } | |
| .fa-cc-jcb:before { | |
| content: "\f24b"; | |
| } | |
| .fa-cc-diners-club:before { | |
| content: "\f24c"; | |
| } | |
| .fa-clone:before { | |
| content: "\f24d"; | |
| } | |
| .fa-balance-scale:before { | |
| content: "\f24e"; | |
| } | |
| .fa-hourglass-o:before { | |
| content: "\f250"; | |
| } | |
| .fa-hourglass-1:before, | |
| .fa-hourglass-start:before { | |
| content: "\f251"; | |
| } | |
| .fa-hourglass-2:before, | |
| .fa-hourglass-half:before { | |
| content: "\f252"; | |
| } | |
| .fa-hourglass-3:before, | |
| .fa-hourglass-end:before { | |
| content: "\f253"; | |
| } | |
| .fa-hourglass:before { | |
| content: "\f254"; | |
| } | |
| .fa-hand-grab-o:before, | |
| .fa-hand-rock-o:before { | |
| content: "\f255"; | |
| } | |
| .fa-hand-stop-o:before, | |
| .fa-hand-paper-o:before { | |
| content: "\f256"; | |
| } | |
| .fa-hand-scissors-o:before { | |
| content: "\f257"; | |
| } | |
| .fa-hand-lizard-o:before { | |
| content: "\f258"; | |
| } | |
| .fa-hand-spock-o:before { | |
| content: "\f259"; | |
| } | |
| .fa-hand-pointer-o:before { | |
| content: "\f25a"; | |
| } | |
| .fa-hand-peace-o:before { | |
| content: "\f25b"; | |
| } | |
| .fa-trademark:before { | |
| content: "\f25c"; | |
| } | |
| .fa-registered:before { | |
| content: "\f25d"; | |
| } | |
| .fa-creative-commons:before { | |
| content: "\f25e"; | |
| } | |
| .fa-gg:before { | |
| content: "\f260"; | |
| } | |
| .fa-gg-circle:before { | |
| content: "\f261"; | |
| } | |
| .fa-tripadvisor:before { | |
| content: "\f262"; | |
| } | |
| .fa-odnoklassniki:before { | |
| content: "\f263"; | |
| } | |
| .fa-odnoklassniki-square:before { | |
| content: "\f264"; | |
| } | |
| .fa-get-pocket:before { | |
| content: "\f265"; | |
| } | |
| .fa-wikipedia-w:before { | |
| content: "\f266"; | |
| } | |
| .fa-safari:before { | |
| content: "\f267"; | |
| } | |
| .fa-chrome:before { | |
| content: "\f268"; | |
| } | |
| .fa-firefox:before { | |
| content: "\f269"; | |
| } | |
| .fa-opera:before { | |
| content: "\f26a"; | |
| } | |
| .fa-internet-explorer:before { | |
| content: "\f26b"; | |
| } | |
| .fa-tv:before, | |
| .fa-television:before { | |
| content: "\f26c"; | |
| } | |
| .fa-contao:before { | |
| content: "\f26d"; | |
| } | |
| .fa-500px:before { | |
| content: "\f26e"; | |
| } | |
| .fa-amazon:before { | |
| content: "\f270"; | |
| } | |
| .fa-calendar-plus-o:before { | |
| content: "\f271"; | |
| } | |
| .fa-calendar-minus-o:before { | |
| content: "\f272"; | |
| } | |
| .fa-calendar-times-o:before { | |
| content: "\f273"; | |
| } | |
| .fa-calendar-check-o:before { | |
| content: "\f274"; | |
| } | |
| .fa-industry:before { | |
| content: "\f275"; | |
| } | |
| .fa-map-pin:before { | |
| content: "\f276"; | |
| } | |
| .fa-map-signs:before { | |
| content: "\f277"; | |
| } | |
| .fa-map-o:before { | |
| content: "\f278"; | |
| } | |
| .fa-map:before { | |
| content: "\f279"; | |
| } | |
| .fa-commenting:before { | |
| content: "\f27a"; | |
| } | |
| .fa-commenting-o:before { | |
| content: "\f27b"; | |
| } | |
| .fa-houzz:before { | |
| content: "\f27c"; | |
| } | |
| .fa-vimeo:before { | |
| content: "\f27d"; | |
| } | |
| .fa-black-tie:before { | |
| content: "\f27e"; | |
| } | |
| .fa-fonticons:before { | |
| content: "\f280"; | |
| } | |
| .fa-reddit-alien:before { | |
| content: "\f281"; | |
| } | |
| .fa-edge:before { | |
| content: "\f282"; | |
| } | |
| .fa-credit-card-alt:before { | |
| content: "\f283"; | |
| } | |
| .fa-codiepie:before { | |
| content: "\f284"; | |
| } | |
| .fa-modx:before { | |
| content: "\f285"; | |
| } | |
| .fa-fort-awesome:before { | |
| content: "\f286"; | |
| } | |
| .fa-usb:before { | |
| content: "\f287"; | |
| } | |
| .fa-product-hunt:before { | |
| content: "\f288"; | |
| } | |
| .fa-mixcloud:before { | |
| content: "\f289"; | |
| } | |
| .fa-scribd:before { | |
| content: "\f28a"; | |
| } | |
| .fa-pause-circle:before { | |
| content: "\f28b"; | |
| } | |
| .fa-pause-circle-o:before { | |
| content: "\f28c"; | |
| } | |
| .fa-stop-circle:before { | |
| content: "\f28d"; | |
| } | |
| .fa-stop-circle-o:before { | |
| content: "\f28e"; | |
| } | |
| .fa-shopping-bag:before { | |
| content: "\f290"; | |
| } | |
| .fa-shopping-basket:before { | |
| content: "\f291"; | |
| } | |
| .fa-hashtag:before { | |
| content: "\f292"; | |
| } | |
| .fa-bluetooth:before { | |
| content: "\f293"; | |
| } | |
| .fa-bluetooth-b:before { | |
| content: "\f294"; | |
| } | |
| .fa-percent:before { | |
| content: "\f295"; | |
| } | |
| .fa-gitlab:before { | |
| content: "\f296"; | |
| } | |
| .fa-wpbeginner:before { | |
| content: "\f297"; | |
| } | |
| .fa-wpforms:before { | |
| content: "\f298"; | |
| } | |
| .fa-envira:before { | |
| content: "\f299"; | |
| } | |
| .fa-universal-access:before { | |
| content: "\f29a"; | |
| } | |
| .fa-wheelchair-alt:before { | |
| content: "\f29b"; | |
| } | |
| .fa-question-circle-o:before { | |
| content: "\f29c"; | |
| } | |
| .fa-blind:before { | |
| content: "\f29d"; | |
| } | |
| .fa-audio-description:before { | |
| content: "\f29e"; | |
| } | |
| .fa-volume-control-phone:before { | |
| content: "\f2a0"; | |
| } | |
| .fa-braille:before { | |
| content: "\f2a1"; | |
| } | |
| .fa-assistive-listening-systems:before { | |
| content: "\f2a2"; | |
| } | |
| .fa-asl-interpreting:before, | |
| .fa-american-sign-language-interpreting:before { | |
| content: "\f2a3"; | |
| } | |
| .fa-deafness:before, | |
| .fa-hard-of-hearing:before, | |
| .fa-deaf:before { | |
| content: "\f2a4"; | |
| } | |
| .fa-glide:before { | |
| content: "\f2a5"; | |
| } | |
| .fa-glide-g:before { | |
| content: "\f2a6"; | |
| } | |
| .fa-signing:before, | |
| .fa-sign-language:before { | |
| content: "\f2a7"; | |
| } | |
| .fa-low-vision:before { | |
| content: "\f2a8"; | |
| } | |
| .fa-viadeo:before { | |
| content: "\f2a9"; | |
| } | |
| .fa-viadeo-square:before { | |
| content: "\f2aa"; | |
| } | |
| .fa-snapchat:before { | |
| content: "\f2ab"; | |
| } | |
| .fa-snapchat-ghost:before { | |
| content: "\f2ac"; | |
| } | |
| .fa-snapchat-square:before { | |
| content: "\f2ad"; | |
| } | |
| .fa-pied-piper:before { | |
| content: "\f2ae"; | |
| } | |
| .fa-first-order:before { | |
| content: "\f2b0"; | |
| } | |
| .fa-yoast:before { | |
| content: "\f2b1"; | |
| } | |
| .fa-themeisle:before { | |
| content: "\f2b2"; | |
| } | |
| .fa-google-plus-circle:before, | |
| .fa-google-plus-official:before { | |
| content: "\f2b3"; | |
| } | |
| .fa-fa:before, | |
| .fa-font-awesome:before { | |
| content: "\f2b4"; | |
| } | |
| .fa-handshake-o:before { | |
| content: "\f2b5"; | |
| } | |
| .fa-envelope-open:before { | |
| content: "\f2b6"; | |
| } | |
| .fa-envelope-open-o:before { | |
| content: "\f2b7"; | |
| } | |
| .fa-linode:before { | |
| content: "\f2b8"; | |
| } | |
| .fa-address-book:before { | |
| content: "\f2b9"; | |
| } | |
| .fa-address-book-o:before { | |
| content: "\f2ba"; | |
| } | |
| .fa-vcard:before, | |
| .fa-address-card:before { | |
| content: "\f2bb"; | |
| } | |
| .fa-vcard-o:before, | |
| .fa-address-card-o:before { | |
| content: "\f2bc"; | |
| } | |
| .fa-user-circle:before { | |
| content: "\f2bd"; | |
| } | |
| .fa-user-circle-o:before { | |
| content: "\f2be"; | |
| } | |
| .fa-user-o:before { | |
| content: "\f2c0"; | |
| } | |
| .fa-id-badge:before { | |
| content: "\f2c1"; | |
| } | |
| .fa-drivers-license:before, | |
| .fa-id-card:before { | |
| content: "\f2c2"; | |
| } | |
| .fa-drivers-license-o:before, | |
| .fa-id-card-o:before { | |
| content: "\f2c3"; | |
| } | |
| .fa-quora:before { | |
| content: "\f2c4"; | |
| } | |
| .fa-free-code-camp:before { | |
| content: "\f2c5"; | |
| } | |
| .fa-telegram:before { | |
| content: "\f2c6"; | |
| } | |
| .fa-thermometer-4:before, | |
| .fa-thermometer:before, | |
| .fa-thermometer-full:before { | |
| content: "\f2c7"; | |
| } | |
| .fa-thermometer-3:before, | |
| .fa-thermometer-three-quarters:before { | |
| content: "\f2c8"; | |
| } | |
| .fa-thermometer-2:before, | |
| .fa-thermometer-half:before { | |
| content: "\f2c9"; | |
| } | |
| .fa-thermometer-1:before, | |
| .fa-thermometer-quarter:before { | |
| content: "\f2ca"; | |
| } | |
| .fa-thermometer-0:before, | |
| .fa-thermometer-empty:before { | |
| content: "\f2cb"; | |
| } | |
| .fa-shower:before { | |
| content: "\f2cc"; | |
| } | |
| .fa-bathtub:before, | |
| .fa-s15:before, | |
| .fa-bath:before { | |
| content: "\f2cd"; | |
| } | |
| .fa-podcast:before { | |
| content: "\f2ce"; | |
| } | |
| .fa-window-maximize:before { | |
| content: "\f2d0"; | |
| } | |
| .fa-window-minimize:before { | |
| content: "\f2d1"; | |
| } | |
| .fa-window-restore:before { | |
| content: "\f2d2"; | |
| } | |
| .fa-times-rectangle:before, | |
| .fa-window-close:before { | |
| content: "\f2d3"; | |
| } | |
| .fa-times-rectangle-o:before, | |
| .fa-window-close-o:before { | |
| content: "\f2d4"; | |
| } | |
| .fa-bandcamp:before { | |
| content: "\f2d5"; | |
| } | |
| .fa-grav:before { | |
| content: "\f2d6"; | |
| } | |
| .fa-etsy:before { | |
| content: "\f2d7"; | |
| } | |
| .fa-imdb:before { | |
| content: "\f2d8"; | |
| } | |
| .fa-ravelry:before { | |
| content: "\f2d9"; | |
| } | |
| .fa-eercast:before { | |
| content: "\f2da"; | |
| } | |
| .fa-microchip:before { | |
| content: "\f2db"; | |
| } | |
| .fa-snowflake-o:before { | |
| content: "\f2dc"; | |
| } | |
| .fa-superpowers:before { | |
| content: "\f2dd"; | |
| } | |
| .fa-wpexplorer:before { | |
| content: "\f2de"; | |
| } | |
| .fa-meetup:before { | |
| content: "\f2e0"; | |
| } | |
| .sr-only { | |
| position: absolute; | |
| width: 1px; | |
| height: 1px; | |
| padding: 0; | |
| margin: -1px; | |
| overflow: hidden; | |
| clip: rect(0, 0, 0, 0); | |
| border: 0; | |
| } | |
| .sr-only-focusable:active, | |
| .sr-only-focusable:focus { | |
| position: static; | |
| width: auto; | |
| height: auto; | |
| margin: 0; | |
| overflow: visible; | |
| clip: auto; | |
| } | |
| .sr-only-focusable:active, | |
| .sr-only-focusable:focus { | |
| position: static; | |
| width: auto; | |
| height: auto; | |
| margin: 0; | |
| overflow: visible; | |
| clip: auto; | |
| } | |
| /*! | |
| * | |
| * IPython base | |
| * | |
| */ | |
| .modal.fade .modal-dialog { | |
| -webkit-transform: translate(0, 0); | |
| -ms-transform: translate(0, 0); | |
| -o-transform: translate(0, 0); | |
| transform: translate(0, 0); | |
| } | |
| code { | |
| color: #000; | |
| } | |
| pre { | |
| font-size: inherit; | |
| line-height: inherit; | |
| } | |
| label { | |
| font-weight: normal; | |
| } | |
| /* Make the page background atleast 100% the height of the view port */ | |
| /* Make the page itself atleast 70% the height of the view port */ | |
| .border-box-sizing { | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| .corner-all { | |
| border-radius: 2px; | |
| } | |
| .no-padding { | |
| padding: 0px; | |
| } | |
| /* Flexible box model classes */ | |
| /* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */ | |
| /* This file is a compatability layer. It allows the usage of flexible box | |
| model layouts accross multiple browsers, including older browsers. The newest, | |
| universal implementation of the flexible box model is used when available (see | |
| `Modern browsers` comments below). Browsers that are known to implement this | |
| new spec completely include: | |
| Firefox 28.0+ | |
| Chrome 29.0+ | |
| Internet Explorer 11+ | |
| Opera 17.0+ | |
| Browsers not listed, including Safari, are supported via the styling under the | |
| `Old browsers` comments below. | |
| */ | |
| .hbox { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| .hbox > * { | |
| /* Old browsers */ | |
| -webkit-box-flex: 0; | |
| -moz-box-flex: 0; | |
| box-flex: 0; | |
| /* Modern browsers */ | |
| flex: none; | |
| } | |
| .vbox { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| .vbox > * { | |
| /* Old browsers */ | |
| -webkit-box-flex: 0; | |
| -moz-box-flex: 0; | |
| box-flex: 0; | |
| /* Modern browsers */ | |
| flex: none; | |
| } | |
| .hbox.reverse, | |
| .vbox.reverse, | |
| .reverse { | |
| /* Old browsers */ | |
| -webkit-box-direction: reverse; | |
| -moz-box-direction: reverse; | |
| box-direction: reverse; | |
| /* Modern browsers */ | |
| flex-direction: row-reverse; | |
| } | |
| .hbox.box-flex0, | |
| .vbox.box-flex0, | |
| .box-flex0 { | |
| /* Old browsers */ | |
| -webkit-box-flex: 0; | |
| -moz-box-flex: 0; | |
| box-flex: 0; | |
| /* Modern browsers */ | |
| flex: none; | |
| width: auto; | |
| } | |
| .hbox.box-flex1, | |
| .vbox.box-flex1, | |
| .box-flex1 { | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| } | |
| .hbox.box-flex, | |
| .vbox.box-flex, | |
| .box-flex { | |
| /* Old browsers */ | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| } | |
| .hbox.box-flex2, | |
| .vbox.box-flex2, | |
| .box-flex2 { | |
| /* Old browsers */ | |
| -webkit-box-flex: 2; | |
| -moz-box-flex: 2; | |
| box-flex: 2; | |
| /* Modern browsers */ | |
| flex: 2; | |
| } | |
| .box-group1 { | |
| /* Deprecated */ | |
| -webkit-box-flex-group: 1; | |
| -moz-box-flex-group: 1; | |
| box-flex-group: 1; | |
| } | |
| .box-group2 { | |
| /* Deprecated */ | |
| -webkit-box-flex-group: 2; | |
| -moz-box-flex-group: 2; | |
| box-flex-group: 2; | |
| } | |
| .hbox.start, | |
| .vbox.start, | |
| .start { | |
| /* Old browsers */ | |
| -webkit-box-pack: start; | |
| -moz-box-pack: start; | |
| box-pack: start; | |
| /* Modern browsers */ | |
| justify-content: flex-start; | |
| } | |
| .hbox.end, | |
| .vbox.end, | |
| .end { | |
| /* Old browsers */ | |
| -webkit-box-pack: end; | |
| -moz-box-pack: end; | |
| box-pack: end; | |
| /* Modern browsers */ | |
| justify-content: flex-end; | |
| } | |
| .hbox.center, | |
| .vbox.center, | |
| .center { | |
| /* Old browsers */ | |
| -webkit-box-pack: center; | |
| -moz-box-pack: center; | |
| box-pack: center; | |
| /* Modern browsers */ | |
| justify-content: center; | |
| } | |
| .hbox.baseline, | |
| .vbox.baseline, | |
| .baseline { | |
| /* Old browsers */ | |
| -webkit-box-pack: baseline; | |
| -moz-box-pack: baseline; | |
| box-pack: baseline; | |
| /* Modern browsers */ | |
| justify-content: baseline; | |
| } | |
| .hbox.stretch, | |
| .vbox.stretch, | |
| .stretch { | |
| /* Old browsers */ | |
| -webkit-box-pack: stretch; | |
| -moz-box-pack: stretch; | |
| box-pack: stretch; | |
| /* Modern browsers */ | |
| justify-content: stretch; | |
| } | |
| .hbox.align-start, | |
| .vbox.align-start, | |
| .align-start { | |
| /* Old browsers */ | |
| -webkit-box-align: start; | |
| -moz-box-align: start; | |
| box-align: start; | |
| /* Modern browsers */ | |
| align-items: flex-start; | |
| } | |
| .hbox.align-end, | |
| .vbox.align-end, | |
| .align-end { | |
| /* Old browsers */ | |
| -webkit-box-align: end; | |
| -moz-box-align: end; | |
| box-align: end; | |
| /* Modern browsers */ | |
| align-items: flex-end; | |
| } | |
| .hbox.align-center, | |
| .vbox.align-center, | |
| .align-center { | |
| /* Old browsers */ | |
| -webkit-box-align: center; | |
| -moz-box-align: center; | |
| box-align: center; | |
| /* Modern browsers */ | |
| align-items: center; | |
| } | |
| .hbox.align-baseline, | |
| .vbox.align-baseline, | |
| .align-baseline { | |
| /* Old browsers */ | |
| -webkit-box-align: baseline; | |
| -moz-box-align: baseline; | |
| box-align: baseline; | |
| /* Modern browsers */ | |
| align-items: baseline; | |
| } | |
| .hbox.align-stretch, | |
| .vbox.align-stretch, | |
| .align-stretch { | |
| /* Old browsers */ | |
| -webkit-box-align: stretch; | |
| -moz-box-align: stretch; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| align-items: stretch; | |
| } | |
| div.error { | |
| margin: 2em; | |
| text-align: center; | |
| } | |
| div.error > h1 { | |
| font-size: 500%; | |
| line-height: normal; | |
| } | |
| div.error > p { | |
| font-size: 200%; | |
| line-height: normal; | |
| } | |
| div.traceback-wrapper { | |
| text-align: left; | |
| max-width: 800px; | |
| margin: auto; | |
| } | |
| div.traceback-wrapper pre.traceback { | |
| max-height: 600px; | |
| overflow: auto; | |
| } | |
| /** | |
| * Primary styles | |
| * | |
| * Author: Jupyter Development Team | |
| */ | |
| body { | |
| background-color: #fff; | |
| /* This makes sure that the body covers the entire window and needs to | |
| be in a different element than the display: box in wrapper below */ | |
| position: absolute; | |
| left: 0px; | |
| right: 0px; | |
| top: 0px; | |
| bottom: 0px; | |
| overflow: visible; | |
| } | |
| body > #header { | |
| /* Initially hidden to prevent FLOUC */ | |
| display: none; | |
| background-color: #fff; | |
| /* Display over codemirror */ | |
| position: relative; | |
| z-index: 100; | |
| } | |
| body > #header #header-container { | |
| display: flex; | |
| flex-direction: row; | |
| justify-content: space-between; | |
| padding: 5px; | |
| padding-bottom: 5px; | |
| padding-top: 5px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| body > #header .header-bar { | |
| width: 100%; | |
| height: 1px; | |
| background: #e7e7e7; | |
| margin-bottom: -1px; | |
| } | |
| @media print { | |
| body > #header { | |
| display: none !important; | |
| } | |
| } | |
| #header-spacer { | |
| width: 100%; | |
| visibility: hidden; | |
| } | |
| @media print { | |
| #header-spacer { | |
| display: none; | |
| } | |
| } | |
| #ipython_notebook { | |
| padding-left: 0px; | |
| padding-top: 1px; | |
| padding-bottom: 1px; | |
| } | |
| [dir="rtl"] #ipython_notebook { | |
| margin-right: 10px; | |
| margin-left: 0; | |
| } | |
| [dir="rtl"] #ipython_notebook.pull-left { | |
| float: right !important; | |
| float: right; | |
| } | |
| .flex-spacer { | |
| flex: 1; | |
| } | |
| #noscript { | |
| width: auto; | |
| padding-top: 16px; | |
| padding-bottom: 16px; | |
| text-align: center; | |
| font-size: 22px; | |
| color: red; | |
| font-weight: bold; | |
| } | |
| #ipython_notebook img { | |
| height: 28px; | |
| } | |
| #site { | |
| width: 100%; | |
| display: none; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| overflow: auto; | |
| } | |
| @media print { | |
| #site { | |
| height: auto !important; | |
| } | |
| } | |
| /* Smaller buttons */ | |
| .ui-button .ui-button-text { | |
| padding: 0.2em 0.8em; | |
| font-size: 77%; | |
| } | |
| input.ui-button { | |
| padding: 0.3em 0.9em; | |
| } | |
| span#kernel_logo_widget { | |
| margin: 0 10px; | |
| } | |
| span#login_widget { | |
| float: right; | |
| } | |
| [dir="rtl"] span#login_widget { | |
| float: left; | |
| } | |
| span#login_widget > .button, | |
| #logout { | |
| color: #333; | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| span#login_widget > .button:focus, | |
| #logout:focus, | |
| span#login_widget > .button.focus, | |
| #logout.focus { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #8c8c8c; | |
| } | |
| span#login_widget > .button:hover, | |
| #logout:hover { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| span#login_widget > .button:active, | |
| #logout:active, | |
| span#login_widget > .button.active, | |
| #logout.active, | |
| .open > .dropdown-togglespan#login_widget > .button, | |
| .open > .dropdown-toggle#logout { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| span#login_widget > .button:active:hover, | |
| #logout:active:hover, | |
| span#login_widget > .button.active:hover, | |
| #logout.active:hover, | |
| .open > .dropdown-togglespan#login_widget > .button:hover, | |
| .open > .dropdown-toggle#logout:hover, | |
| span#login_widget > .button:active:focus, | |
| #logout:active:focus, | |
| span#login_widget > .button.active:focus, | |
| #logout.active:focus, | |
| .open > .dropdown-togglespan#login_widget > .button:focus, | |
| .open > .dropdown-toggle#logout:focus, | |
| span#login_widget > .button:active.focus, | |
| #logout:active.focus, | |
| span#login_widget > .button.active.focus, | |
| #logout.active.focus, | |
| .open > .dropdown-togglespan#login_widget > .button.focus, | |
| .open > .dropdown-toggle#logout.focus { | |
| color: #333; | |
| background-color: #d4d4d4; | |
| border-color: #8c8c8c; | |
| } | |
| span#login_widget > .button:active, | |
| #logout:active, | |
| span#login_widget > .button.active, | |
| #logout.active, | |
| .open > .dropdown-togglespan#login_widget > .button, | |
| .open > .dropdown-toggle#logout { | |
| background-image: none; | |
| } | |
| span#login_widget > .button.disabled:hover, | |
| #logout.disabled:hover, | |
| span#login_widget > .button[disabled]:hover, | |
| #logout[disabled]:hover, | |
| fieldset[disabled] span#login_widget > .button:hover, | |
| fieldset[disabled] #logout:hover, | |
| span#login_widget > .button.disabled:focus, | |
| #logout.disabled:focus, | |
| span#login_widget > .button[disabled]:focus, | |
| #logout[disabled]:focus, | |
| fieldset[disabled] span#login_widget > .button:focus, | |
| fieldset[disabled] #logout:focus, | |
| span#login_widget > .button.disabled.focus, | |
| #logout.disabled.focus, | |
| span#login_widget > .button[disabled].focus, | |
| #logout[disabled].focus, | |
| fieldset[disabled] span#login_widget > .button.focus, | |
| fieldset[disabled] #logout.focus { | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| span#login_widget > .button .badge, | |
| #logout .badge { | |
| color: #fff; | |
| background-color: #333; | |
| } | |
| .nav-header { | |
| text-transform: none; | |
| } | |
| #header > span { | |
| margin-top: 10px; | |
| } | |
| .modal_stretch .modal-dialog { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| min-height: 80vh; | |
| } | |
| .modal_stretch .modal-dialog .modal-body { | |
| max-height: calc(100vh - 200px); | |
| overflow: auto; | |
| flex: 1; | |
| } | |
| .modal-header { | |
| cursor: move; | |
| } | |
| @media (min-width: 768px) { | |
| .modal .modal-dialog { | |
| width: 700px; | |
| } | |
| } | |
| @media (min-width: 768px) { | |
| select.form-control { | |
| margin-left: 12px; | |
| margin-right: 12px; | |
| } | |
| } | |
| /*! | |
| * | |
| * IPython auth | |
| * | |
| */ | |
| .center-nav { | |
| display: inline-block; | |
| margin-bottom: -4px; | |
| } | |
| [dir="rtl"] .center-nav form.pull-left { | |
| float: right !important; | |
| float: right; | |
| } | |
| [dir="rtl"] .center-nav .navbar-text { | |
| float: right; | |
| } | |
| [dir="rtl"] .navbar-inner { | |
| text-align: right; | |
| } | |
| [dir="rtl"] div.text-left { | |
| text-align: right; | |
| } | |
| /*! | |
| * | |
| * IPython tree view | |
| * | |
| */ | |
| /* We need an invisible input field on top of the sentense*/ | |
| /* "Drag file onto the list ..." */ | |
| .alternate_upload { | |
| background-color: none; | |
| display: inline; | |
| } | |
| .alternate_upload.form { | |
| padding: 0; | |
| margin: 0; | |
| } | |
| .alternate_upload input.fileinput { | |
| position: absolute; | |
| display: block; | |
| width: 100%; | |
| height: 100%; | |
| overflow: hidden; | |
| cursor: pointer; | |
| opacity: 0; | |
| z-index: 2; | |
| } | |
| .alternate_upload .btn-xs > input.fileinput { | |
| margin: -1px -5px; | |
| } | |
| .alternate_upload .btn-upload { | |
| position: relative; | |
| height: 22px; | |
| } | |
| ::-webkit-file-upload-button { | |
| cursor: pointer; | |
| } | |
| /** | |
| * Primary styles | |
| * | |
| * Author: Jupyter Development Team | |
| */ | |
| ul#tabs { | |
| margin-bottom: 4px; | |
| } | |
| ul#tabs a { | |
| padding-top: 6px; | |
| padding-bottom: 4px; | |
| } | |
| [dir="rtl"] ul#tabs.nav-tabs > li { | |
| float: right; | |
| } | |
| [dir="rtl"] ul#tabs.nav.nav-tabs { | |
| padding-right: 0; | |
| } | |
| ul.breadcrumb a:focus, | |
| ul.breadcrumb a:hover { | |
| text-decoration: none; | |
| } | |
| ul.breadcrumb i.icon-home { | |
| font-size: 16px; | |
| margin-right: 4px; | |
| } | |
| ul.breadcrumb span { | |
| color: #5e5e5e; | |
| } | |
| .list_toolbar { | |
| padding: 4px 0 4px 0; | |
| vertical-align: middle; | |
| } | |
| .list_toolbar .tree-buttons { | |
| padding-top: 1px; | |
| } | |
| [dir="rtl"] .list_toolbar .tree-buttons .pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| [dir="rtl"] .list_toolbar .col-sm-4, | |
| [dir="rtl"] .list_toolbar .col-sm-8 { | |
| float: right; | |
| } | |
| .dynamic-buttons { | |
| padding-top: 3px; | |
| display: inline-block; | |
| } | |
| .list_toolbar [class*="span"] { | |
| min-height: 24px; | |
| } | |
| .list_header { | |
| font-weight: bold; | |
| background-color: #EEE; | |
| } | |
| .list_placeholder { | |
| font-weight: bold; | |
| padding-top: 4px; | |
| padding-bottom: 4px; | |
| padding-left: 7px; | |
| padding-right: 7px; | |
| } | |
| .list_container { | |
| margin-top: 4px; | |
| margin-bottom: 20px; | |
| border: 1px solid #ddd; | |
| border-radius: 2px; | |
| } | |
| .list_container > div { | |
| border-bottom: 1px solid #ddd; | |
| } | |
| .list_container > div:hover .list-item { | |
| background-color: red; | |
| } | |
| .list_container > div:last-child { | |
| border: none; | |
| } | |
| .list_item:hover .list_item { | |
| background-color: #ddd; | |
| } | |
| .list_item a { | |
| text-decoration: none; | |
| } | |
| .list_item:hover { | |
| background-color: #fafafa; | |
| } | |
| .list_header > div, | |
| .list_item > div { | |
| padding-top: 4px; | |
| padding-bottom: 4px; | |
| padding-left: 7px; | |
| padding-right: 7px; | |
| line-height: 22px; | |
| } | |
| .list_header > div input, | |
| .list_item > div input { | |
| margin-right: 7px; | |
| margin-left: 14px; | |
| vertical-align: text-bottom; | |
| line-height: 22px; | |
| position: relative; | |
| top: -1px; | |
| } | |
| .list_header > div .item_link, | |
| .list_item > div .item_link { | |
| margin-left: -1px; | |
| vertical-align: baseline; | |
| line-height: 22px; | |
| } | |
| [dir="rtl"] .list_item > div input { | |
| margin-right: 0; | |
| } | |
| .new-file input[type=checkbox] { | |
| visibility: hidden; | |
| } | |
| .item_name { | |
| line-height: 22px; | |
| height: 24px; | |
| } | |
| .item_icon { | |
| font-size: 14px; | |
| color: #5e5e5e; | |
| margin-right: 7px; | |
| margin-left: 7px; | |
| line-height: 22px; | |
| vertical-align: baseline; | |
| } | |
| .item_modified { | |
| margin-right: 7px; | |
| margin-left: 7px; | |
| } | |
| [dir="rtl"] .item_modified.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| .item_buttons { | |
| line-height: 1em; | |
| margin-left: -5px; | |
| } | |
| .item_buttons .btn, | |
| .item_buttons .btn-group, | |
| .item_buttons .input-group { | |
| float: left; | |
| } | |
| .item_buttons > .btn, | |
| .item_buttons > .btn-group, | |
| .item_buttons > .input-group { | |
| margin-left: 5px; | |
| } | |
| .item_buttons .btn { | |
| min-width: 13ex; | |
| } | |
| .item_buttons .running-indicator { | |
| padding-top: 4px; | |
| color: #5cb85c; | |
| } | |
| .item_buttons .kernel-name { | |
| padding-top: 4px; | |
| color: #5bc0de; | |
| margin-right: 7px; | |
| float: left; | |
| } | |
| [dir="rtl"] .item_buttons.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| [dir="rtl"] .item_buttons .kernel-name { | |
| margin-left: 7px; | |
| float: right; | |
| } | |
| .toolbar_info { | |
| height: 24px; | |
| line-height: 24px; | |
| } | |
| .list_item input:not([type=checkbox]) { | |
| padding-top: 3px; | |
| padding-bottom: 3px; | |
| height: 22px; | |
| line-height: 14px; | |
| margin: 0px; | |
| } | |
| .highlight_text { | |
| color: blue; | |
| } | |
| #project_name { | |
| display: inline-block; | |
| padding-left: 7px; | |
| margin-left: -2px; | |
| } | |
| #project_name > .breadcrumb { | |
| padding: 0px; | |
| margin-bottom: 0px; | |
| background-color: transparent; | |
| font-weight: bold; | |
| } | |
| .sort_button { | |
| display: inline-block; | |
| padding-left: 7px; | |
| } | |
| [dir="rtl"] .sort_button.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| #tree-selector { | |
| padding-right: 0px; | |
| } | |
| #button-select-all { | |
| min-width: 50px; | |
| } | |
| [dir="rtl"] #button-select-all.btn { | |
| float: right ; | |
| } | |
| #select-all { | |
| margin-left: 7px; | |
| margin-right: 2px; | |
| margin-top: 2px; | |
| height: 16px; | |
| } | |
| [dir="rtl"] #select-all.pull-left { | |
| float: right !important; | |
| float: right; | |
| } | |
| .menu_icon { | |
| margin-right: 2px; | |
| } | |
| .tab-content .row { | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| } | |
| .folder_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f114"; | |
| } | |
| .folder_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .folder_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .folder_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .folder_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .notebook_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f02d"; | |
| position: relative; | |
| top: -1px; | |
| } | |
| .notebook_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .notebook_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .notebook_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .notebook_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .running_notebook_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f02d"; | |
| position: relative; | |
| top: -1px; | |
| color: #5cb85c; | |
| } | |
| .running_notebook_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .running_notebook_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .running_notebook_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .running_notebook_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .file_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f016"; | |
| position: relative; | |
| top: -2px; | |
| } | |
| .file_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .file_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .file_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .file_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| #notebook_toolbar .pull-right { | |
| padding-top: 0px; | |
| margin-right: -1px; | |
| } | |
| ul#new-menu { | |
| left: auto; | |
| right: 0; | |
| } | |
| #new-menu .dropdown-header { | |
| font-size: 10px; | |
| border-bottom: 1px solid #e5e5e5; | |
| padding: 0 0 3px; | |
| margin: -3px 20px 0; | |
| } | |
| .kernel-menu-icon { | |
| padding-right: 12px; | |
| width: 24px; | |
| content: "\f096"; | |
| } | |
| .kernel-menu-icon:before { | |
| content: "\f096"; | |
| } | |
| .kernel-menu-icon-current:before { | |
| content: "\f00c"; | |
| } | |
| #tab_content { | |
| padding-top: 20px; | |
| } | |
| #running .panel-group .panel { | |
| margin-top: 3px; | |
| margin-bottom: 1em; | |
| } | |
| #running .panel-group .panel .panel-heading { | |
| background-color: #EEE; | |
| padding-top: 4px; | |
| padding-bottom: 4px; | |
| padding-left: 7px; | |
| padding-right: 7px; | |
| line-height: 22px; | |
| } | |
| #running .panel-group .panel .panel-heading a:focus, | |
| #running .panel-group .panel .panel-heading a:hover { | |
| text-decoration: none; | |
| } | |
| #running .panel-group .panel .panel-body { | |
| padding: 0px; | |
| } | |
| #running .panel-group .panel .panel-body .list_container { | |
| margin-top: 0px; | |
| margin-bottom: 0px; | |
| border: 0px; | |
| border-radius: 0px; | |
| } | |
| #running .panel-group .panel .panel-body .list_container .list_item { | |
| border-bottom: 1px solid #ddd; | |
| } | |
| #running .panel-group .panel .panel-body .list_container .list_item:last-child { | |
| border-bottom: 0px; | |
| } | |
| .delete-button { | |
| display: none; | |
| } | |
| .duplicate-button { | |
| display: none; | |
| } | |
| .rename-button { | |
| display: none; | |
| } | |
| .move-button { | |
| display: none; | |
| } | |
| .download-button { | |
| display: none; | |
| } | |
| .shutdown-button { | |
| display: none; | |
| } | |
| .dynamic-instructions { | |
| display: inline-block; | |
| padding-top: 4px; | |
| } | |
| /*! | |
| * | |
| * IPython text editor webapp | |
| * | |
| */ | |
| .selected-keymap i.fa { | |
| padding: 0px 5px; | |
| } | |
| .selected-keymap i.fa:before { | |
| content: "\f00c"; | |
| } | |
| #mode-menu { | |
| overflow: auto; | |
| max-height: 20em; | |
| } | |
| .edit_app #header { | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| .edit_app #menubar .navbar { | |
| /* Use a negative 1 bottom margin, so the border overlaps the border of the | |
| header */ | |
| margin-bottom: -1px; | |
| } | |
| .dirty-indicator { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| width: 20px; | |
| } | |
| .dirty-indicator.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator.pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-dirty { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| width: 20px; | |
| } | |
| .dirty-indicator-dirty.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-dirty.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-dirty.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-dirty.pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-clean { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| width: 20px; | |
| } | |
| .dirty-indicator-clean.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-clean.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-clean.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-clean.pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-clean:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f00c"; | |
| } | |
| .dirty-indicator-clean:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-clean:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dirty-indicator-clean:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dirty-indicator-clean:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| #filename { | |
| font-size: 16pt; | |
| display: table; | |
| padding: 0px 5px; | |
| } | |
| #current-mode { | |
| padding-left: 5px; | |
| padding-right: 5px; | |
| } | |
| #texteditor-backdrop { | |
| padding-top: 20px; | |
| padding-bottom: 20px; | |
| } | |
| @media not print { | |
| #texteditor-backdrop { | |
| background-color: #EEE; | |
| } | |
| } | |
| @media print { | |
| #texteditor-backdrop #texteditor-container .CodeMirror-gutter, | |
| #texteditor-backdrop #texteditor-container .CodeMirror-gutters { | |
| background-color: #fff; | |
| } | |
| } | |
| @media not print { | |
| #texteditor-backdrop #texteditor-container .CodeMirror-gutter, | |
| #texteditor-backdrop #texteditor-container .CodeMirror-gutters { | |
| background-color: #fff; | |
| } | |
| } | |
| @media not print { | |
| #texteditor-backdrop #texteditor-container { | |
| padding: 0px; | |
| background-color: #fff; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| } | |
| .CodeMirror-dialog { | |
| background-color: #fff; | |
| } | |
| /*! | |
| * | |
| * IPython notebook | |
| * | |
| */ | |
| /* CSS font colors for translated ANSI escape sequences */ | |
| /* The color values are a mix of | |
| http://www.xcolors.net/dl/baskerville-ivorylight and | |
| http://www.xcolors.net/dl/euphrasia */ | |
| .ansi-black-fg { | |
| color: #3E424D; | |
| } | |
| .ansi-black-bg { | |
| background-color: #3E424D; | |
| } | |
| .ansi-black-intense-fg { | |
| color: #282C36; | |
| } | |
| .ansi-black-intense-bg { | |
| background-color: #282C36; | |
| } | |
| .ansi-red-fg { | |
| color: #E75C58; | |
| } | |
| .ansi-red-bg { | |
| background-color: #E75C58; | |
| } | |
| .ansi-red-intense-fg { | |
| color: #B22B31; | |
| } | |
| .ansi-red-intense-bg { | |
| background-color: #B22B31; | |
| } | |
| .ansi-green-fg { | |
| color: #00A250; | |
| } | |
| .ansi-green-bg { | |
| background-color: #00A250; | |
| } | |
| .ansi-green-intense-fg { | |
| color: #007427; | |
| } | |
| .ansi-green-intense-bg { | |
| background-color: #007427; | |
| } | |
| .ansi-yellow-fg { | |
| color: #DDB62B; | |
| } | |
| .ansi-yellow-bg { | |
| background-color: #DDB62B; | |
| } | |
| .ansi-yellow-intense-fg { | |
| color: #B27D12; | |
| } | |
| .ansi-yellow-intense-bg { | |
| background-color: #B27D12; | |
| } | |
| .ansi-blue-fg { | |
| color: #208FFB; | |
| } | |
| .ansi-blue-bg { | |
| background-color: #208FFB; | |
| } | |
| .ansi-blue-intense-fg { | |
| color: #0065CA; | |
| } | |
| .ansi-blue-intense-bg { | |
| background-color: #0065CA; | |
| } | |
| .ansi-magenta-fg { | |
| color: #D160C4; | |
| } | |
| .ansi-magenta-bg { | |
| background-color: #D160C4; | |
| } | |
| .ansi-magenta-intense-fg { | |
| color: #A03196; | |
| } | |
| .ansi-magenta-intense-bg { | |
| background-color: #A03196; | |
| } | |
| .ansi-cyan-fg { | |
| color: #60C6C8; | |
| } | |
| .ansi-cyan-bg { | |
| background-color: #60C6C8; | |
| } | |
| .ansi-cyan-intense-fg { | |
| color: #258F8F; | |
| } | |
| .ansi-cyan-intense-bg { | |
| background-color: #258F8F; | |
| } | |
| .ansi-white-fg { | |
| color: #C5C1B4; | |
| } | |
| .ansi-white-bg { | |
| background-color: #C5C1B4; | |
| } | |
| .ansi-white-intense-fg { | |
| color: #A1A6B2; | |
| } | |
| .ansi-white-intense-bg { | |
| background-color: #A1A6B2; | |
| } | |
| .ansi-default-inverse-fg { | |
| color: #FFFFFF; | |
| } | |
| .ansi-default-inverse-bg { | |
| background-color: #000000; | |
| } | |
| .ansi-bold { | |
| font-weight: bold; | |
| } | |
| .ansi-underline { | |
| text-decoration: underline; | |
| } | |
| /* The following styles are deprecated an will be removed in a future version */ | |
| .ansibold { | |
| font-weight: bold; | |
| } | |
| .ansi-inverse { | |
| outline: 0.5px dotted; | |
| } | |
| /* use dark versions for foreground, to improve visibility */ | |
| .ansiblack { | |
| color: black; | |
| } | |
| .ansired { | |
| color: darkred; | |
| } | |
| .ansigreen { | |
| color: darkgreen; | |
| } | |
| .ansiyellow { | |
| color: #c4a000; | |
| } | |
| .ansiblue { | |
| color: darkblue; | |
| } | |
| .ansipurple { | |
| color: darkviolet; | |
| } | |
| .ansicyan { | |
| color: steelblue; | |
| } | |
| .ansigray { | |
| color: gray; | |
| } | |
| /* and light for background, for the same reason */ | |
| .ansibgblack { | |
| background-color: black; | |
| } | |
| .ansibgred { | |
| background-color: red; | |
| } | |
| .ansibggreen { | |
| background-color: green; | |
| } | |
| .ansibgyellow { | |
| background-color: yellow; | |
| } | |
| .ansibgblue { | |
| background-color: blue; | |
| } | |
| .ansibgpurple { | |
| background-color: magenta; | |
| } | |
| .ansibgcyan { | |
| background-color: cyan; | |
| } | |
| .ansibggray { | |
| background-color: gray; | |
| } | |
| div.cell { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| border-radius: 2px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| border-width: 1px; | |
| border-style: solid; | |
| border-color: transparent; | |
| width: 100%; | |
| padding: 5px; | |
| /* This acts as a spacer between cells, that is outside the border */ | |
| margin: 0px; | |
| outline: none; | |
| position: relative; | |
| overflow: visible; | |
| } | |
| div.cell:before { | |
| position: absolute; | |
| display: block; | |
| top: -1px; | |
| left: -1px; | |
| width: 5px; | |
| height: calc(100% + 2px); | |
| content: ''; | |
| background: transparent; | |
| } | |
| div.cell.jupyter-soft-selected { | |
| border-left-color: #E3F2FD; | |
| border-left-width: 1px; | |
| padding-left: 5px; | |
| border-right-color: #E3F2FD; | |
| border-right-width: 1px; | |
| background: #E3F2FD; | |
| } | |
| @media print { | |
| div.cell.jupyter-soft-selected { | |
| border-color: transparent; | |
| } | |
| } | |
| div.cell.selected, | |
| div.cell.selected.jupyter-soft-selected { | |
| border-color: #ababab; | |
| } | |
| div.cell.selected:before, | |
| div.cell.selected.jupyter-soft-selected:before { | |
| position: absolute; | |
| display: block; | |
| top: -1px; | |
| left: -1px; | |
| width: 5px; | |
| height: calc(100% + 2px); | |
| content: ''; | |
| background: #42A5F5; | |
| } | |
| @media print { | |
| div.cell.selected, | |
| div.cell.selected.jupyter-soft-selected { | |
| border-color: transparent; | |
| } | |
| } | |
| .edit_mode div.cell.selected { | |
| border-color: #66BB6A; | |
| } | |
| .edit_mode div.cell.selected:before { | |
| position: absolute; | |
| display: block; | |
| top: -1px; | |
| left: -1px; | |
| width: 5px; | |
| height: calc(100% + 2px); | |
| content: ''; | |
| background: #66BB6A; | |
| } | |
| @media print { | |
| .edit_mode div.cell.selected { | |
| border-color: transparent; | |
| } | |
| } | |
| .prompt { | |
| /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ | |
| min-width: 14ex; | |
| /* This padding is tuned to match the padding on the CodeMirror editor. */ | |
| padding: 0.4em; | |
| margin: 0px; | |
| font-family: monospace; | |
| text-align: right; | |
| /* This has to match that of the the CodeMirror class line-height below */ | |
| line-height: 1.21429em; | |
| /* Don't highlight prompt number selection */ | |
| -webkit-touch-callout: none; | |
| -webkit-user-select: none; | |
| -khtml-user-select: none; | |
| -moz-user-select: none; | |
| -ms-user-select: none; | |
| user-select: none; | |
| /* Use default cursor */ | |
| cursor: default; | |
| } | |
| @media (max-width: 540px) { | |
| .prompt { | |
| text-align: left; | |
| } | |
| } | |
| div.inner_cell { | |
| min-width: 0; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| } | |
| /* input_area and input_prompt must match in top border and margin for alignment */ | |
| div.input_area { | |
| border: 1px solid #cfcfcf; | |
| border-radius: 2px; | |
| background: #f7f7f7; | |
| line-height: 1.21429em; | |
| } | |
| /* This is needed so that empty prompt areas can collapse to zero height when there | |
| is no content in the output_subarea and the prompt. The main purpose of this is | |
| to make sure that empty JavaScript output_subareas have no height. */ | |
| div.prompt:empty { | |
| padding-top: 0; | |
| padding-bottom: 0; | |
| } | |
| div.unrecognized_cell { | |
| padding: 5px 5px 5px 0px; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| div.unrecognized_cell .inner_cell { | |
| border-radius: 2px; | |
| padding: 5px; | |
| font-weight: bold; | |
| color: red; | |
| border: 1px solid #cfcfcf; | |
| background: #eaeaea; | |
| } | |
| div.unrecognized_cell .inner_cell a { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| div.unrecognized_cell .inner_cell a:hover { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| @media (max-width: 540px) { | |
| div.unrecognized_cell > div.prompt { | |
| display: none; | |
| } | |
| } | |
| div.code_cell { | |
| /* avoid page breaking on code cells when printing */ | |
| } | |
| @media print { | |
| div.code_cell { | |
| page-break-inside: avoid; | |
| } | |
| } | |
| /* any special styling for code cells that are currently running goes here */ | |
| div.input { | |
| page-break-inside: avoid; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| @media (max-width: 540px) { | |
| div.input { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| } | |
| /* input_area and input_prompt must match in top border and margin for alignment */ | |
| div.input_prompt { | |
| color: #303F9F; | |
| border-top: 1px solid transparent; | |
| } | |
| div.input_area > div.highlight { | |
| margin: 0.4em; | |
| border: none; | |
| padding: 0px; | |
| background-color: transparent; | |
| } | |
| div.input_area > div.highlight > pre { | |
| margin: 0px; | |
| border: none; | |
| padding: 0px; | |
| background-color: transparent; | |
| } | |
| /* The following gets added to the <head> if it is detected that the user has a | |
| * monospace font with inconsistent normal/bold/italic height. See | |
| * notebookmain.js. Such fonts will have keywords vertically offset with | |
| * respect to the rest of the text. The user should select a better font. | |
| * See: https://github.com/ipython/ipython/issues/1503 | |
| * | |
| * .CodeMirror span { | |
| * vertical-align: bottom; | |
| * } | |
| */ | |
| .CodeMirror { | |
| line-height: 1.21429em; | |
| /* Changed from 1em to our global default */ | |
| font-size: 14px; | |
| height: auto; | |
| /* Changed to auto to autogrow */ | |
| background: none; | |
| /* Changed from white to allow our bg to show through */ | |
| } | |
| .CodeMirror-scroll { | |
| /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ | |
| /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ | |
| overflow-y: hidden; | |
| overflow-x: auto; | |
| } | |
| .CodeMirror-lines { | |
| /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ | |
| /* we have set a different line-height and want this to scale with that. */ | |
| /* Note that this should set vertical padding only, since CodeMirror assumes | |
| that horizontal padding will be set on CodeMirror pre */ | |
| padding: 0.4em 0; | |
| } | |
| .CodeMirror-linenumber { | |
| padding: 0 8px 0 4px; | |
| } | |
| .CodeMirror-gutters { | |
| border-bottom-left-radius: 2px; | |
| border-top-left-radius: 2px; | |
| } | |
| .CodeMirror pre { | |
| /* In CM3 this went to 4px from 0 in CM2. This sets horizontal padding only, | |
| use .CodeMirror-lines for vertical */ | |
| padding: 0 0.4em; | |
| border: 0; | |
| border-radius: 0; | |
| } | |
| .CodeMirror-cursor { | |
| border-left: 1.4px solid black; | |
| } | |
| @media screen and (min-width: 2138px) and (max-width: 4319px) { | |
| .CodeMirror-cursor { | |
| border-left: 2px solid black; | |
| } | |
| } | |
| @media screen and (min-width: 4320px) { | |
| .CodeMirror-cursor { | |
| border-left: 4px solid black; | |
| } | |
| } | |
| /* | |
| Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> | |
| Adapted from GitHub theme | |
| */ | |
| .highlight-base { | |
| color: #000; | |
| } | |
| .highlight-variable { | |
| color: #000; | |
| } | |
| .highlight-variable-2 { | |
| color: #1a1a1a; | |
| } | |
| .highlight-variable-3 { | |
| color: #333333; | |
| } | |
| .highlight-string { | |
| color: #BA2121; | |
| } | |
| .highlight-comment { | |
| color: #408080; | |
| font-style: italic; | |
| } | |
| .highlight-number { | |
| color: #080; | |
| } | |
| .highlight-atom { | |
| color: #88F; | |
| } | |
| .highlight-keyword { | |
| color: #008000; | |
| font-weight: bold; | |
| } | |
| .highlight-builtin { | |
| color: #008000; | |
| } | |
| .highlight-error { | |
| color: #f00; | |
| } | |
| .highlight-operator { | |
| color: #AA22FF; | |
| font-weight: bold; | |
| } | |
| .highlight-meta { | |
| color: #AA22FF; | |
| } | |
| /* previously not defined, copying from default codemirror */ | |
| .highlight-def { | |
| color: #00f; | |
| } | |
| .highlight-string-2 { | |
| color: #f50; | |
| } | |
| .highlight-qualifier { | |
| color: #555; | |
| } | |
| .highlight-bracket { | |
| color: #997; | |
| } | |
| .highlight-tag { | |
| color: #170; | |
| } | |
| .highlight-attribute { | |
| color: #00c; | |
| } | |
| .highlight-header { | |
| color: blue; | |
| } | |
| .highlight-quote { | |
| color: #090; | |
| } | |
| .highlight-link { | |
| color: #00c; | |
| } | |
| /* apply the same style to codemirror */ | |
| .cm-s-ipython span.cm-keyword { | |
| color: #008000; | |
| font-weight: bold; | |
| } | |
| .cm-s-ipython span.cm-atom { | |
| color: #88F; | |
| } | |
| .cm-s-ipython span.cm-number { | |
| color: #080; | |
| } | |
| .cm-s-ipython span.cm-def { | |
| color: #00f; | |
| } | |
| .cm-s-ipython span.cm-variable { | |
| color: #000; | |
| } | |
| .cm-s-ipython span.cm-operator { | |
| color: #AA22FF; | |
| font-weight: bold; | |
| } | |
| .cm-s-ipython span.cm-variable-2 { | |
| color: #1a1a1a; | |
| } | |
| .cm-s-ipython span.cm-variable-3 { | |
| color: #333333; | |
| } | |
| .cm-s-ipython span.cm-comment { | |
| color: #408080; | |
| font-style: italic; | |
| } | |
| .cm-s-ipython span.cm-string { | |
| color: #BA2121; | |
| } | |
| .cm-s-ipython span.cm-string-2 { | |
| color: #f50; | |
| } | |
| .cm-s-ipython span.cm-meta { | |
| color: #AA22FF; | |
| } | |
| .cm-s-ipython span.cm-qualifier { | |
| color: #555; | |
| } | |
| .cm-s-ipython span.cm-builtin { | |
| color: #008000; | |
| } | |
| .cm-s-ipython span.cm-bracket { | |
| color: #997; | |
| } | |
| .cm-s-ipython span.cm-tag { | |
| color: #170; | |
| } | |
| .cm-s-ipython span.cm-attribute { | |
| color: #00c; | |
| } | |
| .cm-s-ipython span.cm-header { | |
| color: blue; | |
| } | |
| .cm-s-ipython span.cm-quote { | |
| color: #090; | |
| } | |
| .cm-s-ipython span.cm-link { | |
| color: #00c; | |
| } | |
| .cm-s-ipython span.cm-error { | |
| color: #f00; | |
| } | |
| .cm-s-ipython span.cm-tab { | |
| background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); | |
| background-position: right; | |
| background-repeat: no-repeat; | |
| } | |
| div.output_wrapper { | |
| /* this position must be relative to enable descendents to be absolute within it */ | |
| position: relative; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| z-index: 1; | |
| } | |
| /* class for the output area when it should be height-limited */ | |
| div.output_scroll { | |
| /* ideally, this would be max-height, but FF barfs all over that */ | |
| height: 24em; | |
| /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ | |
| width: 100%; | |
| overflow: auto; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); | |
| box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8); | |
| display: block; | |
| } | |
| /* output div while it is collapsed */ | |
| div.output_collapsed { | |
| margin: 0px; | |
| padding: 0px; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| div.out_prompt_overlay { | |
| height: 100%; | |
| padding: 0px 0.4em; | |
| position: absolute; | |
| border-radius: 2px; | |
| } | |
| div.out_prompt_overlay:hover { | |
| /* use inner shadow to get border that is computed the same on WebKit/FF */ | |
| -webkit-box-shadow: inset 0 0 1px #000; | |
| box-shadow: inset 0 0 1px #000; | |
| background: rgba(240, 240, 240, 0.5); | |
| } | |
| div.output_prompt { | |
| color: #D84315; | |
| } | |
| /* This class is the outer container of all output sections. */ | |
| div.output_area { | |
| padding: 0px; | |
| page-break-inside: avoid; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| div.output_area .MathJax_Display { | |
| text-align: left !important; | |
| } | |
| div.output_area .rendered_html table { | |
| margin-left: 0; | |
| margin-right: 0; | |
| } | |
| div.output_area .rendered_html img { | |
| margin-left: 0; | |
| margin-right: 0; | |
| } | |
| div.output_area img, | |
| div.output_area svg { | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| div.output_area img.unconfined, | |
| div.output_area svg.unconfined { | |
| max-width: none; | |
| } | |
| div.output_area .mglyph > img { | |
| max-width: none; | |
| } | |
| /* This is needed to protect the pre formating from global settings such | |
| as that of bootstrap */ | |
| .output { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| @media (max-width: 540px) { | |
| div.output_area { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: vertical; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: vertical; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: vertical; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: column; | |
| align-items: stretch; | |
| } | |
| } | |
| div.output_area pre { | |
| margin: 0; | |
| padding: 1px 0 1px 0; | |
| border: 0; | |
| vertical-align: baseline; | |
| color: black; | |
| background-color: transparent; | |
| border-radius: 0; | |
| } | |
| /* This class is for the output subarea inside the output_area and after | |
| the prompt div. */ | |
| div.output_subarea { | |
| overflow-x: auto; | |
| padding: 0.4em; | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| max-width: calc(100% - 14ex); | |
| } | |
| div.output_scroll div.output_subarea { | |
| overflow-x: visible; | |
| } | |
| /* The rest of the output_* classes are for special styling of the different | |
| output types */ | |
| /* all text output has this class: */ | |
| div.output_text { | |
| text-align: left; | |
| color: #000; | |
| /* This has to match that of the the CodeMirror class line-height below */ | |
| line-height: 1.21429em; | |
| } | |
| /* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ | |
| div.output_stderr { | |
| background: #fdd; | |
| /* very light red background for stderr */ | |
| } | |
| div.output_latex { | |
| text-align: left; | |
| } | |
| /* Empty output_javascript divs should have no height */ | |
| div.output_javascript:empty { | |
| padding: 0; | |
| } | |
| .js-error { | |
| color: darkred; | |
| } | |
| /* raw_input styles */ | |
| div.raw_input_container { | |
| line-height: 1.21429em; | |
| padding-top: 5px; | |
| } | |
| pre.raw_input_prompt { | |
| /* nothing needed here. */ | |
| } | |
| input.raw_input { | |
| font-family: monospace; | |
| font-size: inherit; | |
| color: inherit; | |
| width: auto; | |
| /* make sure input baseline aligns with prompt */ | |
| vertical-align: baseline; | |
| /* padding + margin = 0.5em between prompt and cursor */ | |
| padding: 0em 0.25em; | |
| margin: 0em 0.25em; | |
| } | |
| input.raw_input:focus { | |
| box-shadow: none; | |
| } | |
| p.p-space { | |
| margin-bottom: 10px; | |
| } | |
| div.output_unrecognized { | |
| padding: 5px; | |
| font-weight: bold; | |
| color: red; | |
| } | |
| div.output_unrecognized a { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| div.output_unrecognized a:hover { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| .rendered_html { | |
| color: #000; | |
| /* any extras will just be numbers: */ | |
| } | |
| .rendered_html em { | |
| font-style: italic; | |
| } | |
| .rendered_html strong { | |
| font-weight: bold; | |
| } | |
| .rendered_html u { | |
| text-decoration: underline; | |
| } | |
| .rendered_html :link { | |
| text-decoration: underline; | |
| } | |
| .rendered_html :visited { | |
| text-decoration: underline; | |
| } | |
| .rendered_html h1 { | |
| font-size: 185.7%; | |
| margin: 1.08em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| } | |
| .rendered_html h2 { | |
| font-size: 157.1%; | |
| margin: 1.27em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| } | |
| .rendered_html h3 { | |
| font-size: 128.6%; | |
| margin: 1.55em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| } | |
| .rendered_html h4 { | |
| font-size: 100%; | |
| margin: 2em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| } | |
| .rendered_html h5 { | |
| font-size: 100%; | |
| margin: 2em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| font-style: italic; | |
| } | |
| .rendered_html h6 { | |
| font-size: 100%; | |
| margin: 2em 0 0 0; | |
| font-weight: bold; | |
| line-height: 1.0; | |
| font-style: italic; | |
| } | |
| .rendered_html h1:first-child { | |
| margin-top: 0.538em; | |
| } | |
| .rendered_html h2:first-child { | |
| margin-top: 0.636em; | |
| } | |
| .rendered_html h3:first-child { | |
| margin-top: 0.777em; | |
| } | |
| .rendered_html h4:first-child { | |
| margin-top: 1em; | |
| } | |
| .rendered_html h5:first-child { | |
| margin-top: 1em; | |
| } | |
| .rendered_html h6:first-child { | |
| margin-top: 1em; | |
| } | |
| .rendered_html ul:not(.list-inline), | |
| .rendered_html ol:not(.list-inline) { | |
| padding-left: 2em; | |
| } | |
| .rendered_html ul { | |
| list-style: disc; | |
| } | |
| .rendered_html ul ul { | |
| list-style: square; | |
| margin-top: 0; | |
| } | |
| .rendered_html ul ul ul { | |
| list-style: circle; | |
| } | |
| .rendered_html ol { | |
| list-style: decimal; | |
| } | |
| .rendered_html ol ol { | |
| list-style: upper-alpha; | |
| margin-top: 0; | |
| } | |
| .rendered_html ol ol ol { | |
| list-style: lower-alpha; | |
| } | |
| .rendered_html ol ol ol ol { | |
| list-style: lower-roman; | |
| } | |
| .rendered_html ol ol ol ol ol { | |
| list-style: decimal; | |
| } | |
| .rendered_html * + ul { | |
| margin-top: 1em; | |
| } | |
| .rendered_html * + ol { | |
| margin-top: 1em; | |
| } | |
| .rendered_html hr { | |
| color: black; | |
| background-color: black; | |
| } | |
| .rendered_html pre { | |
| margin: 1em 2em; | |
| padding: 0px; | |
| background-color: #fff; | |
| } | |
| .rendered_html code { | |
| background-color: #eff0f1; | |
| } | |
| .rendered_html p code { | |
| padding: 1px 5px; | |
| } | |
| .rendered_html pre code { | |
| background-color: #fff; | |
| } | |
| .rendered_html pre, | |
| .rendered_html code { | |
| border: 0; | |
| color: #000; | |
| font-size: 100%; | |
| } | |
| .rendered_html blockquote { | |
| margin: 1em 2em; | |
| } | |
| .rendered_html table { | |
| margin-left: auto; | |
| margin-right: auto; | |
| border: none; | |
| border-collapse: collapse; | |
| border-spacing: 0; | |
| color: black; | |
| font-size: 12px; | |
| table-layout: fixed; | |
| } | |
| .rendered_html thead { | |
| border-bottom: 1px solid black; | |
| vertical-align: bottom; | |
| } | |
| .rendered_html tr, | |
| .rendered_html th, | |
| .rendered_html td { | |
| text-align: right; | |
| vertical-align: middle; | |
| padding: 0.5em 0.5em; | |
| line-height: normal; | |
| white-space: normal; | |
| max-width: none; | |
| border: none; | |
| } | |
| .rendered_html th { | |
| font-weight: bold; | |
| } | |
| .rendered_html tbody tr:nth-child(odd) { | |
| background: #f5f5f5; | |
| } | |
| .rendered_html tbody tr:hover { | |
| background: rgba(66, 165, 245, 0.2); | |
| } | |
| .rendered_html * + table { | |
| margin-top: 1em; | |
| } | |
| .rendered_html p { | |
| text-align: left; | |
| } | |
| .rendered_html * + p { | |
| margin-top: 1em; | |
| } | |
| .rendered_html img { | |
| display: block; | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| .rendered_html * + img { | |
| margin-top: 1em; | |
| } | |
| .rendered_html img, | |
| .rendered_html svg { | |
| max-width: 100%; | |
| height: auto; | |
| } | |
| .rendered_html img.unconfined, | |
| .rendered_html svg.unconfined { | |
| max-width: none; | |
| } | |
| .rendered_html .alert { | |
| margin-bottom: initial; | |
| } | |
| .rendered_html * + .alert { | |
| margin-top: 1em; | |
| } | |
| [dir="rtl"] .rendered_html p { | |
| text-align: right; | |
| } | |
| div.text_cell { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| } | |
| @media (max-width: 540px) { | |
| div.text_cell > div.prompt { | |
| display: none; | |
| } | |
| } | |
| div.text_cell_render { | |
| /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ | |
| outline: none; | |
| resize: none; | |
| width: inherit; | |
| border-style: none; | |
| padding: 0.5em 0.5em 0.5em 0.4em; | |
| color: #000; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| a.anchor-link:link { | |
| text-decoration: none; | |
| padding: 0px 20px; | |
| visibility: hidden; | |
| } | |
| h1:hover .anchor-link, | |
| h2:hover .anchor-link, | |
| h3:hover .anchor-link, | |
| h4:hover .anchor-link, | |
| h5:hover .anchor-link, | |
| h6:hover .anchor-link { | |
| visibility: visible; | |
| } | |
| .text_cell.rendered .input_area { | |
| display: none; | |
| } | |
| .text_cell.rendered .rendered_html { | |
| overflow-x: auto; | |
| overflow-y: hidden; | |
| } | |
| .text_cell.rendered .rendered_html tr, | |
| .text_cell.rendered .rendered_html th, | |
| .text_cell.rendered .rendered_html td { | |
| max-width: none; | |
| } | |
| .text_cell.unrendered .text_cell_render { | |
| display: none; | |
| } | |
| .text_cell .dropzone .input_area { | |
| border: 2px dashed #bababa; | |
| margin: -1px; | |
| } | |
| .cm-header-1, | |
| .cm-header-2, | |
| .cm-header-3, | |
| .cm-header-4, | |
| .cm-header-5, | |
| .cm-header-6 { | |
| font-weight: bold; | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| } | |
| .cm-header-1 { | |
| font-size: 185.7%; | |
| } | |
| .cm-header-2 { | |
| font-size: 157.1%; | |
| } | |
| .cm-header-3 { | |
| font-size: 128.6%; | |
| } | |
| .cm-header-4 { | |
| font-size: 110%; | |
| } | |
| .cm-header-5 { | |
| font-size: 100%; | |
| font-style: italic; | |
| } | |
| .cm-header-6 { | |
| font-size: 100%; | |
| font-style: italic; | |
| } | |
| /*! | |
| * | |
| * IPython notebook webapp | |
| * | |
| */ | |
| @media (max-width: 767px) { | |
| .notebook_app { | |
| padding-left: 0px; | |
| padding-right: 0px; | |
| } | |
| } | |
| #ipython-main-app { | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| height: 100%; | |
| } | |
| div#notebook_panel { | |
| margin: 0px; | |
| padding: 0px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| height: 100%; | |
| } | |
| div#notebook { | |
| font-size: 14px; | |
| line-height: 20px; | |
| overflow-y: hidden; | |
| overflow-x: auto; | |
| width: 100%; | |
| /* This spaces the page away from the edge of the notebook area */ | |
| padding-top: 20px; | |
| margin: 0px; | |
| outline: none; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| min-height: 100%; | |
| } | |
| @media not print { | |
| #notebook-container { | |
| padding: 15px; | |
| background-color: #fff; | |
| min-height: 0; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| } | |
| @media print { | |
| #notebook-container { | |
| width: 100%; | |
| } | |
| } | |
| div.ui-widget-content { | |
| border: 1px solid #ababab; | |
| outline: none; | |
| } | |
| pre.dialog { | |
| background-color: #f7f7f7; | |
| border: 1px solid #ddd; | |
| border-radius: 2px; | |
| padding: 0.4em; | |
| padding-left: 2em; | |
| } | |
| p.dialog { | |
| padding: 0.2em; | |
| } | |
| /* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems | |
| to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. | |
| */ | |
| pre, | |
| code, | |
| kbd, | |
| samp { | |
| white-space: pre-wrap; | |
| } | |
| #fonttest { | |
| font-family: monospace; | |
| } | |
| p { | |
| margin-bottom: 0; | |
| } | |
| .end_space { | |
| min-height: 100px; | |
| transition: height .2s ease; | |
| } | |
| .notebook_app > #header { | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| @media not print { | |
| .notebook_app { | |
| background-color: #EEE; | |
| } | |
| } | |
| kbd { | |
| border-style: solid; | |
| border-width: 1px; | |
| box-shadow: none; | |
| margin: 2px; | |
| padding-left: 2px; | |
| padding-right: 2px; | |
| padding-top: 1px; | |
| padding-bottom: 1px; | |
| } | |
| .jupyter-keybindings { | |
| padding: 1px; | |
| line-height: 24px; | |
| border-bottom: 1px solid gray; | |
| } | |
| .jupyter-keybindings input { | |
| margin: 0; | |
| padding: 0; | |
| border: none; | |
| } | |
| .jupyter-keybindings i { | |
| padding: 6px; | |
| } | |
| .well code { | |
| background-color: #ffffff; | |
| border-color: #ababab; | |
| border-width: 1px; | |
| border-style: solid; | |
| padding: 2px; | |
| padding-top: 1px; | |
| padding-bottom: 1px; | |
| } | |
| /* CSS for the cell toolbar */ | |
| .celltoolbar { | |
| border: thin solid #CFCFCF; | |
| border-bottom: none; | |
| background: #EEE; | |
| border-radius: 2px 2px 0px 0px; | |
| width: 100%; | |
| height: 29px; | |
| padding-right: 4px; | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| /* Old browsers */ | |
| -webkit-box-pack: end; | |
| -moz-box-pack: end; | |
| box-pack: end; | |
| /* Modern browsers */ | |
| justify-content: flex-end; | |
| display: -webkit-flex; | |
| } | |
| @media print { | |
| .celltoolbar { | |
| display: none; | |
| } | |
| } | |
| .ctb_hideshow { | |
| display: none; | |
| vertical-align: bottom; | |
| } | |
| /* ctb_show is added to the ctb_hideshow div to show the cell toolbar. | |
| Cell toolbars are only shown when the ctb_global_show class is also set. | |
| */ | |
| .ctb_global_show .ctb_show.ctb_hideshow { | |
| display: block; | |
| } | |
| .ctb_global_show .ctb_show + .input_area, | |
| .ctb_global_show .ctb_show + div.text_cell_input, | |
| .ctb_global_show .ctb_show ~ div.text_cell_render { | |
| border-top-right-radius: 0px; | |
| border-top-left-radius: 0px; | |
| } | |
| .ctb_global_show .ctb_show ~ div.text_cell_render { | |
| border: 1px solid #cfcfcf; | |
| } | |
| .celltoolbar { | |
| font-size: 87%; | |
| padding-top: 3px; | |
| } | |
| .celltoolbar select { | |
| display: block; | |
| width: 100%; | |
| height: 32px; | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #555555; | |
| background-color: #fff; | |
| background-image: none; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| width: inherit; | |
| font-size: inherit; | |
| height: 22px; | |
| padding: 0px; | |
| display: inline-block; | |
| } | |
| .celltoolbar select:focus { | |
| border-color: #66afe9; | |
| outline: 0; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| } | |
| .celltoolbar select::-moz-placeholder { | |
| color: #999; | |
| opacity: 1; | |
| } | |
| .celltoolbar select:-ms-input-placeholder { | |
| color: #999; | |
| } | |
| .celltoolbar select::-webkit-input-placeholder { | |
| color: #999; | |
| } | |
| .celltoolbar select::-ms-expand { | |
| border: 0; | |
| background-color: transparent; | |
| } | |
| .celltoolbar select[disabled], | |
| .celltoolbar select[readonly], | |
| fieldset[disabled] .celltoolbar select { | |
| background-color: #eeeeee; | |
| opacity: 1; | |
| } | |
| .celltoolbar select[disabled], | |
| fieldset[disabled] .celltoolbar select { | |
| cursor: not-allowed; | |
| } | |
| textarea.celltoolbar select { | |
| height: auto; | |
| } | |
| select.celltoolbar select { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| textarea.celltoolbar select, | |
| select[multiple].celltoolbar select { | |
| height: auto; | |
| } | |
| .celltoolbar label { | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| } | |
| .tags_button_container { | |
| width: 100%; | |
| display: flex; | |
| } | |
| .tag-container { | |
| display: flex; | |
| flex-direction: row; | |
| flex-grow: 1; | |
| overflow: hidden; | |
| position: relative; | |
| } | |
| .tag-container > * { | |
| margin: 0 4px; | |
| } | |
| .remove-tag-btn { | |
| margin-left: 4px; | |
| } | |
| .tags-input { | |
| display: flex; | |
| } | |
| .cell-tag:last-child:after { | |
| content: ""; | |
| position: absolute; | |
| right: 0; | |
| width: 40px; | |
| height: 100%; | |
| /* Fade to background color of cell toolbar */ | |
| background: linear-gradient(to right, rgba(0, 0, 0, 0), #EEE); | |
| } | |
| .tags-input > * { | |
| margin-left: 4px; | |
| } | |
| .cell-tag, | |
| .tags-input input, | |
| .tags-input button { | |
| display: block; | |
| width: 100%; | |
| height: 32px; | |
| padding: 6px 12px; | |
| font-size: 13px; | |
| line-height: 1.42857143; | |
| color: #555555; | |
| background-color: #fff; | |
| background-image: none; | |
| border: 1px solid #ccc; | |
| border-radius: 2px; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); | |
| -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; | |
| height: 30px; | |
| padding: 5px 10px; | |
| font-size: 12px; | |
| line-height: 1.5; | |
| border-radius: 1px; | |
| box-shadow: none; | |
| width: inherit; | |
| font-size: inherit; | |
| height: 22px; | |
| line-height: 22px; | |
| padding: 0px 4px; | |
| display: inline-block; | |
| } | |
| .cell-tag:focus, | |
| .tags-input input:focus, | |
| .tags-input button:focus { | |
| border-color: #66afe9; | |
| outline: 0; | |
| -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); | |
| } | |
| .cell-tag::-moz-placeholder, | |
| .tags-input input::-moz-placeholder, | |
| .tags-input button::-moz-placeholder { | |
| color: #999; | |
| opacity: 1; | |
| } | |
| .cell-tag:-ms-input-placeholder, | |
| .tags-input input:-ms-input-placeholder, | |
| .tags-input button:-ms-input-placeholder { | |
| color: #999; | |
| } | |
| .cell-tag::-webkit-input-placeholder, | |
| .tags-input input::-webkit-input-placeholder, | |
| .tags-input button::-webkit-input-placeholder { | |
| color: #999; | |
| } | |
| .cell-tag::-ms-expand, | |
| .tags-input input::-ms-expand, | |
| .tags-input button::-ms-expand { | |
| border: 0; | |
| background-color: transparent; | |
| } | |
| .cell-tag[disabled], | |
| .tags-input input[disabled], | |
| .tags-input button[disabled], | |
| .cell-tag[readonly], | |
| .tags-input input[readonly], | |
| .tags-input button[readonly], | |
| fieldset[disabled] .cell-tag, | |
| fieldset[disabled] .tags-input input, | |
| fieldset[disabled] .tags-input button { | |
| background-color: #eeeeee; | |
| opacity: 1; | |
| } | |
| .cell-tag[disabled], | |
| .tags-input input[disabled], | |
| .tags-input button[disabled], | |
| fieldset[disabled] .cell-tag, | |
| fieldset[disabled] .tags-input input, | |
| fieldset[disabled] .tags-input button { | |
| cursor: not-allowed; | |
| } | |
| textarea.cell-tag, | |
| textarea.tags-input input, | |
| textarea.tags-input button { | |
| height: auto; | |
| } | |
| select.cell-tag, | |
| select.tags-input input, | |
| select.tags-input button { | |
| height: 30px; | |
| line-height: 30px; | |
| } | |
| textarea.cell-tag, | |
| textarea.tags-input input, | |
| textarea.tags-input button, | |
| select[multiple].cell-tag, | |
| select[multiple].tags-input input, | |
| select[multiple].tags-input button { | |
| height: auto; | |
| } | |
| .cell-tag, | |
| .tags-input button { | |
| padding: 0px 4px; | |
| } | |
| .cell-tag { | |
| background-color: #fff; | |
| white-space: nowrap; | |
| } | |
| .tags-input input[type=text]:focus { | |
| outline: none; | |
| box-shadow: none; | |
| border-color: #ccc; | |
| } | |
| .completions { | |
| position: absolute; | |
| z-index: 110; | |
| overflow: hidden; | |
| border: 1px solid #ababab; | |
| border-radius: 2px; | |
| -webkit-box-shadow: 0px 6px 10px -1px #adadad; | |
| box-shadow: 0px 6px 10px -1px #adadad; | |
| line-height: 1; | |
| } | |
| .completions select { | |
| background: white; | |
| outline: none; | |
| border: none; | |
| padding: 0px; | |
| margin: 0px; | |
| overflow: auto; | |
| font-family: monospace; | |
| font-size: 110%; | |
| color: #000; | |
| width: auto; | |
| } | |
| .completions select option.context { | |
| color: #286090; | |
| } | |
| #kernel_logo_widget .current_kernel_logo { | |
| display: none; | |
| margin-top: -1px; | |
| margin-bottom: -1px; | |
| width: 32px; | |
| height: 32px; | |
| } | |
| [dir="rtl"] #kernel_logo_widget { | |
| float: left !important; | |
| float: left; | |
| } | |
| .modal .modal-body .move-path { | |
| display: flex; | |
| flex-direction: row; | |
| justify-content: space; | |
| align-items: center; | |
| } | |
| .modal .modal-body .move-path .server-root { | |
| padding-right: 20px; | |
| } | |
| .modal .modal-body .move-path .path-input { | |
| flex: 1; | |
| } | |
| #menubar { | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| margin-top: 1px; | |
| } | |
| #menubar .navbar { | |
| border-top: 1px; | |
| border-radius: 0px 0px 2px 2px; | |
| margin-bottom: 0px; | |
| } | |
| #menubar .navbar-toggle { | |
| float: left; | |
| padding-top: 7px; | |
| padding-bottom: 7px; | |
| border: none; | |
| } | |
| #menubar .navbar-collapse { | |
| clear: left; | |
| } | |
| [dir="rtl"] #menubar .navbar-toggle { | |
| float: right; | |
| } | |
| [dir="rtl"] #menubar .navbar-collapse { | |
| clear: right; | |
| } | |
| [dir="rtl"] #menubar .navbar-nav { | |
| float: right; | |
| } | |
| [dir="rtl"] #menubar .nav { | |
| padding-right: 0px; | |
| } | |
| [dir="rtl"] #menubar .navbar-nav > li { | |
| float: right; | |
| } | |
| [dir="rtl"] #menubar .navbar-right { | |
| float: left !important; | |
| } | |
| [dir="rtl"] ul.dropdown-menu { | |
| text-align: right; | |
| left: auto; | |
| } | |
| [dir="rtl"] ul#new-menu.dropdown-menu { | |
| right: auto; | |
| left: 0; | |
| } | |
| .nav-wrapper { | |
| border-bottom: 1px solid #e7e7e7; | |
| } | |
| i.menu-icon { | |
| padding-top: 4px; | |
| } | |
| [dir="rtl"] i.menu-icon.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| ul#help_menu li a { | |
| overflow: hidden; | |
| padding-right: 2.2em; | |
| } | |
| ul#help_menu li a i { | |
| margin-right: -1.2em; | |
| } | |
| [dir="rtl"] ul#help_menu li a { | |
| padding-left: 2.2em; | |
| } | |
| [dir="rtl"] ul#help_menu li a i { | |
| margin-right: 0; | |
| margin-left: -1.2em; | |
| } | |
| [dir="rtl"] ul#help_menu li a i.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| .dropdown-submenu { | |
| position: relative; | |
| } | |
| .dropdown-submenu > .dropdown-menu { | |
| top: 0; | |
| left: 100%; | |
| margin-top: -6px; | |
| margin-left: -1px; | |
| } | |
| [dir="rtl"] .dropdown-submenu > .dropdown-menu { | |
| right: 100%; | |
| margin-right: -1px; | |
| } | |
| .dropdown-submenu:hover > .dropdown-menu { | |
| display: block; | |
| } | |
| .dropdown-submenu > a:after { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| display: block; | |
| content: "\f0da"; | |
| float: right; | |
| color: #333333; | |
| margin-top: 2px; | |
| margin-right: -10px; | |
| } | |
| .dropdown-submenu > a:after.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .dropdown-submenu > a:after.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .dropdown-submenu > a:after.pull-left { | |
| margin-right: .3em; | |
| } | |
| .dropdown-submenu > a:after.pull-right { | |
| margin-left: .3em; | |
| } | |
| [dir="rtl"] .dropdown-submenu > a:after { | |
| float: left; | |
| content: "\f0d9"; | |
| margin-right: 0; | |
| margin-left: -10px; | |
| } | |
| .dropdown-submenu:hover > a:after { | |
| color: #262626; | |
| } | |
| .dropdown-submenu.pull-left { | |
| float: none; | |
| } | |
| .dropdown-submenu.pull-left > .dropdown-menu { | |
| left: -100%; | |
| margin-left: 10px; | |
| } | |
| #notification_area { | |
| float: right !important; | |
| float: right; | |
| z-index: 10; | |
| } | |
| [dir="rtl"] #notification_area { | |
| float: left !important; | |
| float: left; | |
| } | |
| .indicator_area { | |
| float: right !important; | |
| float: right; | |
| color: #777; | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| width: 11px; | |
| z-index: 10; | |
| text-align: center; | |
| width: auto; | |
| } | |
| [dir="rtl"] .indicator_area { | |
| float: left !important; | |
| float: left; | |
| } | |
| #kernel_indicator { | |
| float: right !important; | |
| float: right; | |
| color: #777; | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| width: 11px; | |
| z-index: 10; | |
| text-align: center; | |
| width: auto; | |
| border-left: 1px solid; | |
| } | |
| #kernel_indicator .kernel_indicator_name { | |
| padding-left: 5px; | |
| padding-right: 5px; | |
| } | |
| [dir="rtl"] #kernel_indicator { | |
| float: left !important; | |
| float: left; | |
| border-left: 0; | |
| border-right: 1px solid; | |
| } | |
| #modal_indicator { | |
| float: right !important; | |
| float: right; | |
| color: #777; | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| width: 11px; | |
| z-index: 10; | |
| text-align: center; | |
| width: auto; | |
| } | |
| [dir="rtl"] #modal_indicator { | |
| float: left !important; | |
| float: left; | |
| } | |
| #readonly-indicator { | |
| float: right !important; | |
| float: right; | |
| color: #777; | |
| margin-left: 5px; | |
| margin-right: 5px; | |
| width: 11px; | |
| z-index: 10; | |
| text-align: center; | |
| width: auto; | |
| margin-top: 2px; | |
| margin-bottom: 0px; | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| display: none; | |
| } | |
| .modal_indicator:before { | |
| width: 1.28571429em; | |
| text-align: center; | |
| } | |
| .edit_mode .modal_indicator:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f040"; | |
| } | |
| .edit_mode .modal_indicator:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .edit_mode .modal_indicator:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .edit_mode .modal_indicator:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .edit_mode .modal_indicator:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .command_mode .modal_indicator:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: ' '; | |
| } | |
| .command_mode .modal_indicator:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .command_mode .modal_indicator:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .command_mode .modal_indicator:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .command_mode .modal_indicator:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_idle_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f10c"; | |
| } | |
| .kernel_idle_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_idle_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_idle_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_idle_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_busy_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f111"; | |
| } | |
| .kernel_busy_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_busy_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_busy_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_busy_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_dead_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f1e2"; | |
| } | |
| .kernel_dead_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_dead_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_dead_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_dead_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_disconnected_icon:before { | |
| display: inline-block; | |
| font: normal normal normal 14px/1 FontAwesome; | |
| font-size: inherit; | |
| text-rendering: auto; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| content: "\f127"; | |
| } | |
| .kernel_disconnected_icon:before.fa-pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_disconnected_icon:before.fa-pull-right { | |
| margin-left: .3em; | |
| } | |
| .kernel_disconnected_icon:before.pull-left { | |
| margin-right: .3em; | |
| } | |
| .kernel_disconnected_icon:before.pull-right { | |
| margin-left: .3em; | |
| } | |
| .notification_widget { | |
| color: #777; | |
| z-index: 10; | |
| background: rgba(240, 240, 240, 0.5); | |
| margin-right: 4px; | |
| color: #333; | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| .notification_widget:focus, | |
| .notification_widget.focus { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #8c8c8c; | |
| } | |
| .notification_widget:hover { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| .notification_widget:active, | |
| .notification_widget.active, | |
| .open > .dropdown-toggle.notification_widget { | |
| color: #333; | |
| background-color: #e6e6e6; | |
| border-color: #adadad; | |
| } | |
| .notification_widget:active:hover, | |
| .notification_widget.active:hover, | |
| .open > .dropdown-toggle.notification_widget:hover, | |
| .notification_widget:active:focus, | |
| .notification_widget.active:focus, | |
| .open > .dropdown-toggle.notification_widget:focus, | |
| .notification_widget:active.focus, | |
| .notification_widget.active.focus, | |
| .open > .dropdown-toggle.notification_widget.focus { | |
| color: #333; | |
| background-color: #d4d4d4; | |
| border-color: #8c8c8c; | |
| } | |
| .notification_widget:active, | |
| .notification_widget.active, | |
| .open > .dropdown-toggle.notification_widget { | |
| background-image: none; | |
| } | |
| .notification_widget.disabled:hover, | |
| .notification_widget[disabled]:hover, | |
| fieldset[disabled] .notification_widget:hover, | |
| .notification_widget.disabled:focus, | |
| .notification_widget[disabled]:focus, | |
| fieldset[disabled] .notification_widget:focus, | |
| .notification_widget.disabled.focus, | |
| .notification_widget[disabled].focus, | |
| fieldset[disabled] .notification_widget.focus { | |
| background-color: #fff; | |
| border-color: #ccc; | |
| } | |
| .notification_widget .badge { | |
| color: #fff; | |
| background-color: #333; | |
| } | |
| .notification_widget.warning { | |
| color: #fff; | |
| background-color: #f0ad4e; | |
| border-color: #eea236; | |
| } | |
| .notification_widget.warning:focus, | |
| .notification_widget.warning.focus { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #985f0d; | |
| } | |
| .notification_widget.warning:hover { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #d58512; | |
| } | |
| .notification_widget.warning:active, | |
| .notification_widget.warning.active, | |
| .open > .dropdown-toggle.notification_widget.warning { | |
| color: #fff; | |
| background-color: #ec971f; | |
| border-color: #d58512; | |
| } | |
| .notification_widget.warning:active:hover, | |
| .notification_widget.warning.active:hover, | |
| .open > .dropdown-toggle.notification_widget.warning:hover, | |
| .notification_widget.warning:active:focus, | |
| .notification_widget.warning.active:focus, | |
| .open > .dropdown-toggle.notification_widget.warning:focus, | |
| .notification_widget.warning:active.focus, | |
| .notification_widget.warning.active.focus, | |
| .open > .dropdown-toggle.notification_widget.warning.focus { | |
| color: #fff; | |
| background-color: #d58512; | |
| border-color: #985f0d; | |
| } | |
| .notification_widget.warning:active, | |
| .notification_widget.warning.active, | |
| .open > .dropdown-toggle.notification_widget.warning { | |
| background-image: none; | |
| } | |
| .notification_widget.warning.disabled:hover, | |
| .notification_widget.warning[disabled]:hover, | |
| fieldset[disabled] .notification_widget.warning:hover, | |
| .notification_widget.warning.disabled:focus, | |
| .notification_widget.warning[disabled]:focus, | |
| fieldset[disabled] .notification_widget.warning:focus, | |
| .notification_widget.warning.disabled.focus, | |
| .notification_widget.warning[disabled].focus, | |
| fieldset[disabled] .notification_widget.warning.focus { | |
| background-color: #f0ad4e; | |
| border-color: #eea236; | |
| } | |
| .notification_widget.warning .badge { | |
| color: #f0ad4e; | |
| background-color: #fff; | |
| } | |
| .notification_widget.success { | |
| color: #fff; | |
| background-color: #5cb85c; | |
| border-color: #4cae4c; | |
| } | |
| .notification_widget.success:focus, | |
| .notification_widget.success.focus { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #255625; | |
| } | |
| .notification_widget.success:hover { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #398439; | |
| } | |
| .notification_widget.success:active, | |
| .notification_widget.success.active, | |
| .open > .dropdown-toggle.notification_widget.success { | |
| color: #fff; | |
| background-color: #449d44; | |
| border-color: #398439; | |
| } | |
| .notification_widget.success:active:hover, | |
| .notification_widget.success.active:hover, | |
| .open > .dropdown-toggle.notification_widget.success:hover, | |
| .notification_widget.success:active:focus, | |
| .notification_widget.success.active:focus, | |
| .open > .dropdown-toggle.notification_widget.success:focus, | |
| .notification_widget.success:active.focus, | |
| .notification_widget.success.active.focus, | |
| .open > .dropdown-toggle.notification_widget.success.focus { | |
| color: #fff; | |
| background-color: #398439; | |
| border-color: #255625; | |
| } | |
| .notification_widget.success:active, | |
| .notification_widget.success.active, | |
| .open > .dropdown-toggle.notification_widget.success { | |
| background-image: none; | |
| } | |
| .notification_widget.success.disabled:hover, | |
| .notification_widget.success[disabled]:hover, | |
| fieldset[disabled] .notification_widget.success:hover, | |
| .notification_widget.success.disabled:focus, | |
| .notification_widget.success[disabled]:focus, | |
| fieldset[disabled] .notification_widget.success:focus, | |
| .notification_widget.success.disabled.focus, | |
| .notification_widget.success[disabled].focus, | |
| fieldset[disabled] .notification_widget.success.focus { | |
| background-color: #5cb85c; | |
| border-color: #4cae4c; | |
| } | |
| .notification_widget.success .badge { | |
| color: #5cb85c; | |
| background-color: #fff; | |
| } | |
| .notification_widget.info { | |
| color: #fff; | |
| background-color: #5bc0de; | |
| border-color: #46b8da; | |
| } | |
| .notification_widget.info:focus, | |
| .notification_widget.info.focus { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #1b6d85; | |
| } | |
| .notification_widget.info:hover { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #269abc; | |
| } | |
| .notification_widget.info:active, | |
| .notification_widget.info.active, | |
| .open > .dropdown-toggle.notification_widget.info { | |
| color: #fff; | |
| background-color: #31b0d5; | |
| border-color: #269abc; | |
| } | |
| .notification_widget.info:active:hover, | |
| .notification_widget.info.active:hover, | |
| .open > .dropdown-toggle.notification_widget.info:hover, | |
| .notification_widget.info:active:focus, | |
| .notification_widget.info.active:focus, | |
| .open > .dropdown-toggle.notification_widget.info:focus, | |
| .notification_widget.info:active.focus, | |
| .notification_widget.info.active.focus, | |
| .open > .dropdown-toggle.notification_widget.info.focus { | |
| color: #fff; | |
| background-color: #269abc; | |
| border-color: #1b6d85; | |
| } | |
| .notification_widget.info:active, | |
| .notification_widget.info.active, | |
| .open > .dropdown-toggle.notification_widget.info { | |
| background-image: none; | |
| } | |
| .notification_widget.info.disabled:hover, | |
| .notification_widget.info[disabled]:hover, | |
| fieldset[disabled] .notification_widget.info:hover, | |
| .notification_widget.info.disabled:focus, | |
| .notification_widget.info[disabled]:focus, | |
| fieldset[disabled] .notification_widget.info:focus, | |
| .notification_widget.info.disabled.focus, | |
| .notification_widget.info[disabled].focus, | |
| fieldset[disabled] .notification_widget.info.focus { | |
| background-color: #5bc0de; | |
| border-color: #46b8da; | |
| } | |
| .notification_widget.info .badge { | |
| color: #5bc0de; | |
| background-color: #fff; | |
| } | |
| .notification_widget.danger { | |
| color: #fff; | |
| background-color: #d9534f; | |
| border-color: #d43f3a; | |
| } | |
| .notification_widget.danger:focus, | |
| .notification_widget.danger.focus { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #761c19; | |
| } | |
| .notification_widget.danger:hover { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #ac2925; | |
| } | |
| .notification_widget.danger:active, | |
| .notification_widget.danger.active, | |
| .open > .dropdown-toggle.notification_widget.danger { | |
| color: #fff; | |
| background-color: #c9302c; | |
| border-color: #ac2925; | |
| } | |
| .notification_widget.danger:active:hover, | |
| .notification_widget.danger.active:hover, | |
| .open > .dropdown-toggle.notification_widget.danger:hover, | |
| .notification_widget.danger:active:focus, | |
| .notification_widget.danger.active:focus, | |
| .open > .dropdown-toggle.notification_widget.danger:focus, | |
| .notification_widget.danger:active.focus, | |
| .notification_widget.danger.active.focus, | |
| .open > .dropdown-toggle.notification_widget.danger.focus { | |
| color: #fff; | |
| background-color: #ac2925; | |
| border-color: #761c19; | |
| } | |
| .notification_widget.danger:active, | |
| .notification_widget.danger.active, | |
| .open > .dropdown-toggle.notification_widget.danger { | |
| background-image: none; | |
| } | |
| .notification_widget.danger.disabled:hover, | |
| .notification_widget.danger[disabled]:hover, | |
| fieldset[disabled] .notification_widget.danger:hover, | |
| .notification_widget.danger.disabled:focus, | |
| .notification_widget.danger[disabled]:focus, | |
| fieldset[disabled] .notification_widget.danger:focus, | |
| .notification_widget.danger.disabled.focus, | |
| .notification_widget.danger[disabled].focus, | |
| fieldset[disabled] .notification_widget.danger.focus { | |
| background-color: #d9534f; | |
| border-color: #d43f3a; | |
| } | |
| .notification_widget.danger .badge { | |
| color: #d9534f; | |
| background-color: #fff; | |
| } | |
| div#pager { | |
| background-color: #fff; | |
| font-size: 14px; | |
| line-height: 20px; | |
| overflow: hidden; | |
| display: none; | |
| position: fixed; | |
| bottom: 0px; | |
| width: 100%; | |
| max-height: 50%; | |
| padding-top: 8px; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| /* Display over codemirror */ | |
| z-index: 100; | |
| /* Hack which prevents jquery ui resizable from changing top. */ | |
| top: auto !important; | |
| } | |
| div#pager pre { | |
| line-height: 1.21429em; | |
| color: #000; | |
| background-color: #f7f7f7; | |
| padding: 0.4em; | |
| } | |
| div#pager #pager-button-area { | |
| position: absolute; | |
| top: 8px; | |
| right: 20px; | |
| } | |
| div#pager #pager-contents { | |
| position: relative; | |
| overflow: auto; | |
| width: 100%; | |
| height: 100%; | |
| } | |
| div#pager #pager-contents #pager-container { | |
| position: relative; | |
| padding: 15px 0px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| div#pager .ui-resizable-handle { | |
| top: 0px; | |
| height: 8px; | |
| background: #f7f7f7; | |
| border-top: 1px solid #cfcfcf; | |
| border-bottom: 1px solid #cfcfcf; | |
| /* This injects handle bars (a short, wide = symbol) for | |
| the resize handle. */ | |
| } | |
| div#pager .ui-resizable-handle::after { | |
| content: ''; | |
| top: 2px; | |
| left: 50%; | |
| height: 3px; | |
| width: 30px; | |
| margin-left: -15px; | |
| position: absolute; | |
| border-top: 1px solid #cfcfcf; | |
| } | |
| .quickhelp { | |
| /* Old browsers */ | |
| display: -webkit-box; | |
| -webkit-box-orient: horizontal; | |
| -webkit-box-align: stretch; | |
| display: -moz-box; | |
| -moz-box-orient: horizontal; | |
| -moz-box-align: stretch; | |
| display: box; | |
| box-orient: horizontal; | |
| box-align: stretch; | |
| /* Modern browsers */ | |
| display: flex; | |
| flex-direction: row; | |
| align-items: stretch; | |
| line-height: 1.8em; | |
| } | |
| .shortcut_key { | |
| display: inline-block; | |
| width: 21ex; | |
| text-align: right; | |
| font-family: monospace; | |
| } | |
| .shortcut_descr { | |
| display: inline-block; | |
| /* Old browsers */ | |
| -webkit-box-flex: 1; | |
| -moz-box-flex: 1; | |
| box-flex: 1; | |
| /* Modern browsers */ | |
| flex: 1; | |
| } | |
| span.save_widget { | |
| height: 30px; | |
| margin-top: 4px; | |
| display: flex; | |
| justify-content: flex-start; | |
| align-items: baseline; | |
| width: 50%; | |
| flex: 1; | |
| } | |
| span.save_widget span.filename { | |
| height: 100%; | |
| line-height: 1em; | |
| margin-left: 16px; | |
| border: none; | |
| font-size: 146.5%; | |
| text-overflow: ellipsis; | |
| overflow: hidden; | |
| white-space: nowrap; | |
| border-radius: 2px; | |
| } | |
| span.save_widget span.filename:hover { | |
| background-color: #e6e6e6; | |
| } | |
| [dir="rtl"] span.save_widget.pull-left { | |
| float: right !important; | |
| float: right; | |
| } | |
| [dir="rtl"] span.save_widget span.filename { | |
| margin-left: 0; | |
| margin-right: 16px; | |
| } | |
| span.checkpoint_status, | |
| span.autosave_status { | |
| font-size: small; | |
| white-space: nowrap; | |
| padding: 0 5px; | |
| } | |
| @media (max-width: 767px) { | |
| span.save_widget { | |
| font-size: small; | |
| padding: 0 0 0 5px; | |
| } | |
| span.checkpoint_status, | |
| span.autosave_status { | |
| display: none; | |
| } | |
| } | |
| @media (min-width: 768px) and (max-width: 991px) { | |
| span.checkpoint_status { | |
| display: none; | |
| } | |
| span.autosave_status { | |
| font-size: x-small; | |
| } | |
| } | |
| .toolbar { | |
| padding: 0px; | |
| margin-left: -5px; | |
| margin-top: 2px; | |
| margin-bottom: 5px; | |
| box-sizing: border-box; | |
| -moz-box-sizing: border-box; | |
| -webkit-box-sizing: border-box; | |
| } | |
| .toolbar select, | |
| .toolbar label { | |
| width: auto; | |
| vertical-align: middle; | |
| margin-right: 2px; | |
| margin-bottom: 0px; | |
| display: inline; | |
| font-size: 92%; | |
| margin-left: 0.3em; | |
| margin-right: 0.3em; | |
| padding: 0px; | |
| padding-top: 3px; | |
| } | |
| .toolbar .btn { | |
| padding: 2px 8px; | |
| } | |
| .toolbar .btn-group { | |
| margin-top: 0px; | |
| margin-left: 5px; | |
| } | |
| .toolbar-btn-label { | |
| margin-left: 6px; | |
| } | |
| #maintoolbar { | |
| margin-bottom: -3px; | |
| margin-top: -8px; | |
| border: 0px; | |
| min-height: 27px; | |
| margin-left: 0px; | |
| padding-top: 11px; | |
| padding-bottom: 3px; | |
| } | |
| #maintoolbar .navbar-text { | |
| float: none; | |
| vertical-align: middle; | |
| text-align: right; | |
| margin-left: 5px; | |
| margin-right: 0px; | |
| margin-top: 0px; | |
| } | |
| .select-xs { | |
| height: 24px; | |
| } | |
| [dir="rtl"] .btn-group > .btn, | |
| .btn-group-vertical > .btn { | |
| float: right; | |
| } | |
| .pulse, | |
| .dropdown-menu > li > a.pulse, | |
| li.pulse > a.dropdown-toggle, | |
| li.pulse.open > a.dropdown-toggle { | |
| background-color: #F37626; | |
| color: white; | |
| } | |
| /** | |
| * Primary styles | |
| * | |
| * Author: Jupyter Development Team | |
| */ | |
| /** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot | |
| * of chance of beeing generated from the ../less/[samename].less file, you can | |
| * try to get back the less file by reverting somme commit in history | |
| **/ | |
| /* | |
| * We'll try to get something pretty, so we | |
| * have some strange css to have the scroll bar on | |
| * the left with fix button on the top right of the tooltip | |
| */ | |
| @-moz-keyframes fadeOut { | |
| from { | |
| opacity: 1; | |
| } | |
| to { | |
| opacity: 0; | |
| } | |
| } | |
| @-webkit-keyframes fadeOut { | |
| from { | |
| opacity: 1; | |
| } | |
| to { | |
| opacity: 0; | |
| } | |
| } | |
| @-moz-keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| @-webkit-keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /*properties of tooltip after "expand"*/ | |
| .bigtooltip { | |
| overflow: auto; | |
| height: 200px; | |
| -webkit-transition-property: height; | |
| -webkit-transition-duration: 500ms; | |
| -moz-transition-property: height; | |
| -moz-transition-duration: 500ms; | |
| transition-property: height; | |
| transition-duration: 500ms; | |
| } | |
| /*properties of tooltip before "expand"*/ | |
| .smalltooltip { | |
| -webkit-transition-property: height; | |
| -webkit-transition-duration: 500ms; | |
| -moz-transition-property: height; | |
| -moz-transition-duration: 500ms; | |
| transition-property: height; | |
| transition-duration: 500ms; | |
| text-overflow: ellipsis; | |
| overflow: hidden; | |
| height: 80px; | |
| } | |
| .tooltipbuttons { | |
| position: absolute; | |
| padding-right: 15px; | |
| top: 0px; | |
| right: 0px; | |
| } | |
| .tooltiptext { | |
| /*avoid the button to overlap on some docstring*/ | |
| padding-right: 30px; | |
| } | |
| .ipython_tooltip { | |
| max-width: 700px; | |
| /*fade-in animation when inserted*/ | |
| -webkit-animation: fadeOut 400ms; | |
| -moz-animation: fadeOut 400ms; | |
| animation: fadeOut 400ms; | |
| -webkit-animation: fadeIn 400ms; | |
| -moz-animation: fadeIn 400ms; | |
| animation: fadeIn 400ms; | |
| vertical-align: middle; | |
| background-color: #f7f7f7; | |
| overflow: visible; | |
| border: #ababab 1px solid; | |
| outline: none; | |
| padding: 3px; | |
| margin: 0px; | |
| padding-left: 7px; | |
| font-family: monospace; | |
| min-height: 50px; | |
| -moz-box-shadow: 0px 6px 10px -1px #adadad; | |
| -webkit-box-shadow: 0px 6px 10px -1px #adadad; | |
| box-shadow: 0px 6px 10px -1px #adadad; | |
| border-radius: 2px; | |
| position: absolute; | |
| z-index: 1000; | |
| } | |
| .ipython_tooltip a { | |
| float: right; | |
| } | |
| .ipython_tooltip .tooltiptext pre { | |
| border: 0; | |
| border-radius: 0; | |
| font-size: 100%; | |
| background-color: #f7f7f7; | |
| } | |
| .pretooltiparrow { | |
| left: 0px; | |
| margin: 0px; | |
| top: -16px; | |
| width: 40px; | |
| height: 16px; | |
| overflow: hidden; | |
| position: absolute; | |
| } | |
| .pretooltiparrow:before { | |
| background-color: #f7f7f7; | |
| border: 1px #ababab solid; | |
| z-index: 11; | |
| content: ""; | |
| position: absolute; | |
| left: 15px; | |
| top: 10px; | |
| width: 25px; | |
| height: 25px; | |
| -webkit-transform: rotate(45deg); | |
| -moz-transform: rotate(45deg); | |
| -ms-transform: rotate(45deg); | |
| -o-transform: rotate(45deg); | |
| } | |
| ul.typeahead-list i { | |
| margin-left: -10px; | |
| width: 18px; | |
| } | |
| [dir="rtl"] ul.typeahead-list i { | |
| margin-left: 0; | |
| margin-right: -10px; | |
| } | |
| ul.typeahead-list { | |
| max-height: 80vh; | |
| overflow: auto; | |
| } | |
| ul.typeahead-list > li > a { | |
| /** Firefox bug **/ | |
| /* see https://github.com/jupyter/notebook/issues/559 */ | |
| white-space: normal; | |
| } | |
| ul.typeahead-list > li > a.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| [dir="rtl"] .typeahead-list { | |
| text-align: right; | |
| } | |
| .cmd-palette .modal-body { | |
| padding: 7px; | |
| } | |
| .cmd-palette form { | |
| background: white; | |
| } | |
| .cmd-palette input { | |
| outline: none; | |
| } | |
| .no-shortcut { | |
| min-width: 20px; | |
| color: transparent; | |
| } | |
| [dir="rtl"] .no-shortcut.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| [dir="rtl"] .command-shortcut.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| .command-shortcut:before { | |
| content: "(command mode)"; | |
| padding-right: 3px; | |
| color: #777777; | |
| } | |
| .edit-shortcut:before { | |
| content: "(edit)"; | |
| padding-right: 3px; | |
| color: #777777; | |
| } | |
| [dir="rtl"] .edit-shortcut.pull-right { | |
| float: left !important; | |
| float: left; | |
| } | |
| #find-and-replace #replace-preview .match, | |
| #find-and-replace #replace-preview .insert { | |
| background-color: #BBDEFB; | |
| border-color: #90CAF9; | |
| border-style: solid; | |
| border-width: 1px; | |
| border-radius: 0px; | |
| } | |
| [dir="ltr"] #find-and-replace .input-group-btn + .form-control { | |
| border-left: none; | |
| } | |
| [dir="rtl"] #find-and-replace .input-group-btn + .form-control { | |
| border-right: none; | |
| } | |
| #find-and-replace #replace-preview .replace .match { | |
| background-color: #FFCDD2; | |
| border-color: #EF9A9A; | |
| border-radius: 0px; | |
| } | |
| #find-and-replace #replace-preview .replace .insert { | |
| background-color: #C8E6C9; | |
| border-color: #A5D6A7; | |
| border-radius: 0px; | |
| } | |
| #find-and-replace #replace-preview { | |
| max-height: 60vh; | |
| overflow: auto; | |
| } | |
| #find-and-replace #replace-preview pre { | |
| padding: 5px 10px; | |
| } | |
| .terminal-app { | |
| background: #EEE; | |
| } | |
| .terminal-app #header { | |
| background: #fff; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2); | |
| } | |
| .terminal-app .terminal { | |
| width: 100%; | |
| float: left; | |
| font-family: monospace; | |
| color: white; | |
| background: black; | |
| padding: 0.4em; | |
| border-radius: 2px; | |
| -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); | |
| box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4); | |
| } | |
| .terminal-app .terminal, | |
| .terminal-app .terminal dummy-screen { | |
| line-height: 1em; | |
| font-size: 14px; | |
| } | |
| .terminal-app .terminal .xterm-rows { | |
| padding: 10px; | |
| } | |
| .terminal-app .terminal-cursor { | |
| color: black; | |
| background: white; | |
| } | |
| .terminal-app #terminado-container { | |
| margin-top: 20px; | |
| } | |
| /*# sourceMappingURL=style.min.css.map */ | |
| </style> | |
| <style type="text/css"> | |
| .highlight .hll { background-color: #ffffcc } | |
| .highlight { background: #f8f8f8; } | |
| .highlight .c { color: #408080; font-style: italic } /* Comment */ | |
| .highlight .err { border: 1px solid #FF0000 } /* Error */ | |
| .highlight .k { color: #008000; font-weight: bold } /* Keyword */ | |
| .highlight .o { color: #666666 } /* Operator */ | |
| .highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ | |
| .highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */ | |
| .highlight .cp { color: #BC7A00 } /* Comment.Preproc */ | |
| .highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ | |
| .highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */ | |
| .highlight .cs { color: #408080; font-style: italic } /* Comment.Special */ | |
| .highlight .gd { color: #A00000 } /* Generic.Deleted */ | |
| .highlight .ge { font-style: italic } /* Generic.Emph */ | |
| .highlight .gr { color: #FF0000 } /* Generic.Error */ | |
| .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ | |
| .highlight .gi { color: #00A000 } /* Generic.Inserted */ | |
| .highlight .go { color: #888888 } /* Generic.Output */ | |
| .highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ | |
| .highlight .gs { font-weight: bold } /* Generic.Strong */ | |
| .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ | |
| .highlight .gt { color: #0044DD } /* Generic.Traceback */ | |
| .highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ | |
| .highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ | |
| .highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ | |
| .highlight .kp { color: #008000 } /* Keyword.Pseudo */ | |
| .highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ | |
| .highlight .kt { color: #B00040 } /* Keyword.Type */ | |
| .highlight .m { color: #666666 } /* Literal.Number */ | |
| .highlight .s { color: #BA2121 } /* Literal.String */ | |
| .highlight .na { color: #7D9029 } /* Name.Attribute */ | |
| .highlight .nb { color: #008000 } /* Name.Builtin */ | |
| .highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ | |
| .highlight .no { color: #880000 } /* Name.Constant */ | |
| .highlight .nd { color: #AA22FF } /* Name.Decorator */ | |
| .highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ | |
| .highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ | |
| .highlight .nf { color: #0000FF } /* Name.Function */ | |
| .highlight .nl { color: #A0A000 } /* Name.Label */ | |
| .highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ | |
| .highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ | |
| .highlight .nv { color: #19177C } /* Name.Variable */ | |
| .highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ | |
| .highlight .w { color: #bbbbbb } /* Text.Whitespace */ | |
| .highlight .mb { color: #666666 } /* Literal.Number.Bin */ | |
| .highlight .mf { color: #666666 } /* Literal.Number.Float */ | |
| .highlight .mh { color: #666666 } /* Literal.Number.Hex */ | |
| .highlight .mi { color: #666666 } /* Literal.Number.Integer */ | |
| .highlight .mo { color: #666666 } /* Literal.Number.Oct */ | |
| .highlight .sa { color: #BA2121 } /* Literal.String.Affix */ | |
| .highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ | |
| .highlight .sc { color: #BA2121 } /* Literal.String.Char */ | |
| .highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ | |
| .highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ | |
| .highlight .s2 { color: #BA2121 } /* Literal.String.Double */ | |
| .highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ | |
| .highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ | |
| .highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ | |
| .highlight .sx { color: #008000 } /* Literal.String.Other */ | |
| .highlight .sr { color: #BB6688 } /* Literal.String.Regex */ | |
| .highlight .s1 { color: #BA2121 } /* Literal.String.Single */ | |
| .highlight .ss { color: #19177C } /* Literal.String.Symbol */ | |
| .highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ | |
| .highlight .fm { color: #0000FF } /* Name.Function.Magic */ | |
| .highlight .vc { color: #19177C } /* Name.Variable.Class */ | |
| .highlight .vg { color: #19177C } /* Name.Variable.Global */ | |
| .highlight .vi { color: #19177C } /* Name.Variable.Instance */ | |
| .highlight .vm { color: #19177C } /* Name.Variable.Magic */ | |
| .highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ | |
| </style> | |
| <style type="text/css"> | |
| /* Temporary definitions which will become obsolete with Notebook release 5.0 */ | |
| .ansi-black-fg { color: #3E424D; } | |
| .ansi-black-bg { background-color: #3E424D; } | |
| .ansi-black-intense-fg { color: #282C36; } | |
| .ansi-black-intense-bg { background-color: #282C36; } | |
| .ansi-red-fg { color: #E75C58; } | |
| .ansi-red-bg { background-color: #E75C58; } | |
| .ansi-red-intense-fg { color: #B22B31; } | |
| .ansi-red-intense-bg { background-color: #B22B31; } | |
| .ansi-green-fg { color: #00A250; } | |
| .ansi-green-bg { background-color: #00A250; } | |
| .ansi-green-intense-fg { color: #007427; } | |
| .ansi-green-intense-bg { background-color: #007427; } | |
| .ansi-yellow-fg { color: #DDB62B; } | |
| .ansi-yellow-bg { background-color: #DDB62B; } | |
| .ansi-yellow-intense-fg { color: #B27D12; } | |
| .ansi-yellow-intense-bg { background-color: #B27D12; } | |
| .ansi-blue-fg { color: #208FFB; } | |
| .ansi-blue-bg { background-color: #208FFB; } | |
| .ansi-blue-intense-fg { color: #0065CA; } | |
| .ansi-blue-intense-bg { background-color: #0065CA; } | |
| .ansi-magenta-fg { color: #D160C4; } | |
| .ansi-magenta-bg { background-color: #D160C4; } | |
| .ansi-magenta-intense-fg { color: #A03196; } | |
| .ansi-magenta-intense-bg { background-color: #A03196; } | |
| .ansi-cyan-fg { color: #60C6C8; } | |
| .ansi-cyan-bg { background-color: #60C6C8; } | |
| .ansi-cyan-intense-fg { color: #258F8F; } | |
| .ansi-cyan-intense-bg { background-color: #258F8F; } | |
| .ansi-white-fg { color: #C5C1B4; } | |
| .ansi-white-bg { background-color: #C5C1B4; } | |
| .ansi-white-intense-fg { color: #A1A6B2; } | |
| .ansi-white-intense-bg { background-color: #A1A6B2; } | |
| .ansi-bold { font-weight: bold; } | |
| </style> | |
| <style type="text/css"> | |
| body[data-notebook-name] > #header #header-container:not(.show-panel), /* body has data-notebook-name attribute when | |
| a notebook is open. this rule won't be applied when the notebook is not open (in 404 view for example) */ | |
| body[data-notebook-name] #menubar-container #maintoolbar:not(.show-panel), | |
| body[data-notebook-name] #menubar-container ul.navbar-nav:not(.show-panel) { | |
| display: none; | |
| } | |
| #menubar.only-panel #menus.navbar-default { | |
| background: #fff; | |
| border-color: #fff; | |
| } | |
| .toolbar.with-statusbar{ | |
| margin-top: 3px; | |
| margin-bottom: 0; | |
| } | |
| </style> | |
| <style type="text/css"> | |
| /* Overrides of notebook CSS for static HTML export */ | |
| body { | |
| overflow: visible; | |
| padding: 8px; | |
| } | |
| div#notebook { | |
| overflow: visible; | |
| border-top: none; | |
| }@media print { | |
| div.cell { | |
| display: block; | |
| page-break-inside: avoid; | |
| } | |
| div.output_wrapper { | |
| display: block; | |
| page-break-inside: avoid; | |
| } | |
| div.output { | |
| display: block; | |
| page-break-inside: avoid; | |
| } | |
| } | |
| </style> | |
| <!-- Custom stylesheet, it must be in the same directory as the html file --> | |
| <link rel="stylesheet" href="custom.css"> | |
| <!-- Loading mathjax macro --> | |
| <!-- Load mathjax --> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script> | |
| <!-- MathJax configuration --> | |
| <script type="text/x-mathjax-config"> | |
| MathJax.Hub.Config({ | |
| tex2jax: { | |
| inlineMath: [ ['$','$'], ["\\(","\\)"] ], | |
| displayMath: [ ['$$','$$'], ["\\[","\\]"] ], | |
| processEscapes: true, | |
| processEnvironments: true | |
| }, | |
| // Center justify equations in code and markdown cells. Elsewhere | |
| // we use CSS to left justify single line equations in code cells. | |
| displayAlign: 'center', | |
| "HTML-CSS": { | |
| styles: {'.MathJax_Display': {"margin": 0}}, | |
| linebreaks: { automatic: true } | |
| } | |
| }); | |
| </script> | |
| <!-- End of mathjax configuration --></head> | |
| <body> | |
| <div tabindex="-1" id="notebook" class="border-box-sizing"> | |
| <div class="container" id="notebook-container"> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h1 id="Face-Generation">Face Generation<a class="anchor-link" href="#Face-Generation">¶</a></h1><p>In this project, you'll define and train a DCGAN on a dataset of faces. Your goal is to get a generator network to generate <em>new</em> images of faces that look as realistic as possible!</p> | |
| <p>The project will be broken down into a series of tasks from <strong>loading in data to defining and training adversarial networks</strong>. At the end of the notebook, you'll be able to visualize the results of your trained Generator to see how it performs; your generated samples should look like fairly realistic faces with small amounts of noise.</p> | |
| <h3 id="Get-the-Data">Get the Data<a class="anchor-link" href="#Get-the-Data">¶</a></h3><p>You'll be using the <a href="http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html">CelebFaces Attributes Dataset (CelebA)</a> to train your adversarial networks.</p> | |
| <p>This dataset is more complex than the number datasets (like MNIST or SVHN) you've been working with, and so, you should prepare to define deeper networks and train them for a longer time to get good results. It is suggested that you utilize a GPU for training.</p> | |
| <h3 id="Pre-processed-Data">Pre-processed Data<a class="anchor-link" href="#Pre-processed-Data">¶</a></h3><p>Since the project's main focus is on building the GANs, we've done <em>some</em> of the pre-processing for you. Each of the CelebA images has been cropped to remove parts of the image that don't include a face, then resized down to 64x64x3 NumPy images. Some sample data is show below.</p> | |
| <p><img src='assets/processed_face_data.png' width=60% /></p> | |
| <blockquote><p>If you are working locally, you can download this data <a href="https://s3.amazonaws.com/video.udacity-data.com/topher/2018/November/5be7eb6f_processed-celeba-small/processed-celeba-small.zip">by clicking here</a></p> | |
| </blockquote> | |
| <p>This is a zip file that you'll need to extract in the home directory of this notebook for further loading and processing. After extracting the data, you should be left with a directory of data <code>processed_celeba_small/</code></p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [1]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># can comment out after executing</span> | |
| <span class="c1"># !unzip processed_celeba_small.zip</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [2]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">data_dir</span> <span class="o">=</span> <span class="s1">'processed_celeba_small/'</span> | |
| <span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL</span> | |
| <span class="sd">"""</span> | |
| <span class="kn">import</span> <span class="nn">pickle</span> <span class="k">as</span> <span class="nn">pkl</span> | |
| <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span> | |
| <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> | |
| <span class="kn">import</span> <span class="nn">problem_unittests</span> <span class="k">as</span> <span class="nn">tests</span> | |
| <span class="c1">#import helper</span> | |
| <span class="o">%</span><span class="k">matplotlib</span> inline | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Visualize-the-CelebA-Data">Visualize the CelebA Data<a class="anchor-link" href="#Visualize-the-CelebA-Data">¶</a></h2><p>The <a href="http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html">CelebA</a> dataset contains over 200,000 celebrity images with annotations. Since you're going to be generating faces, you won't need the annotations, you'll only need the images. Note that these are color images with <a href="https://en.wikipedia.org/wiki/Channel_(digital_image">3 color channels (RGB)</a>#RGB_Images) each.</p> | |
| <h3 id="Pre-process-and-Load-the-Data">Pre-process and Load the Data<a class="anchor-link" href="#Pre-process-and-Load-the-Data">¶</a></h3><p>Since the project's main focus is on building the GANs, we've done <em>some</em> of the pre-processing for you. Each of the CelebA images has been cropped to remove parts of the image that don't include a face, then resized down to 64x64x3 NumPy images. This <em>pre-processed</em> dataset is a smaller subset of the very large CelebA data.</p> | |
| <blockquote><p>There are a few other steps that you'll need to <strong>transform</strong> this data and create a <strong>DataLoader</strong>.</p> | |
| </blockquote> | |
| <h4 id="Exercise:-Complete-the-following-get_dataloader-function,-such-that-it-satisfies-these-requirements:">Exercise: Complete the following <code>get_dataloader</code> function, such that it satisfies these requirements:<a class="anchor-link" href="#Exercise:-Complete-the-following-get_dataloader-function,-such-that-it-satisfies-these-requirements:">¶</a></h4><ul> | |
| <li>Your images should be square, Tensor images of size <code>image_size x image_size</code> in the x and y dimension.</li> | |
| <li>Your function should return a DataLoader that shuffles and batches these Tensor images.</li> | |
| </ul> | |
| <h4 id="ImageFolder">ImageFolder<a class="anchor-link" href="#ImageFolder">¶</a></h4><p>To create a dataset given a directory of images, it's recommended that you use PyTorch's <a href="https://pytorch.org/docs/stable/torchvision/datasets.html#imagefolder">ImageFolder</a> wrapper, with a root directory <code>processed_celeba_small/</code> and data transformation passed in.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [3]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># necessary imports</span> | |
| <span class="kn">import</span> <span class="nn">os</span> | |
| <span class="kn">import</span> <span class="nn">torch</span> | |
| <span class="kn">from</span> <span class="nn">torch.utils.data</span> <span class="k">import</span> <span class="n">DataLoader</span> | |
| <span class="kn">from</span> <span class="nn">torchvision</span> <span class="k">import</span> <span class="n">datasets</span> | |
| <span class="kn">from</span> <span class="nn">torchvision</span> <span class="k">import</span> <span class="n">transforms</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [4]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">get_dataloader</span><span class="p">(</span><span class="n">batch_size</span><span class="p">,</span> <span class="n">image_size</span><span class="p">,</span> <span class="n">data_dir</span><span class="o">=</span><span class="s1">'processed_celeba_small/'</span><span class="p">):</span> | |
| <span class="sd">"""</span> | |
| <span class="sd"> Batch the neural network data using DataLoader</span> | |
| <span class="sd"> :param batch_size: The size of each batch; the number of images in a batch</span> | |
| <span class="sd"> :param img_size: The square size of the image data (x, y)</span> | |
| <span class="sd"> :param data_dir: Directory where image data is located</span> | |
| <span class="sd"> :return: DataLoader with batched data</span> | |
| <span class="sd"> """</span> | |
| <span class="c1"># TODO: Implement function and return a dataloader</span> | |
| <span class="c1"># resize and normalize the images</span> | |
| <span class="n">transform</span> <span class="o">=</span> <span class="n">transforms</span><span class="o">.</span><span class="n">Compose</span><span class="p">([</span><span class="n">transforms</span><span class="o">.</span><span class="n">Resize</span><span class="p">(</span><span class="n">image_size</span><span class="p">),</span> <span class="c1"># resize to 128x128</span> | |
| <span class="n">transforms</span><span class="o">.</span><span class="n">ToTensor</span><span class="p">()])</span> | |
| <span class="c1"># get training and test directories</span> | |
| <span class="n">image_path</span> <span class="o">=</span> <span class="s1">'./'</span> <span class="o">+</span> <span class="n">data_dir</span> | |
| <span class="n">train_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">image_path</span><span class="p">)</span> | |
| <span class="c1"># define datasets using ImageFolder</span> | |
| <span class="n">train_dataset</span> <span class="o">=</span> <span class="n">datasets</span><span class="o">.</span><span class="n">ImageFolder</span><span class="p">(</span><span class="n">train_path</span><span class="p">,</span> <span class="n">transform</span><span class="p">)</span> | |
| <span class="c1"># create and return DataLoaders</span> | |
| <span class="n">train_loader</span> <span class="o">=</span> <span class="n">DataLoader</span><span class="p">(</span><span class="n">dataset</span><span class="o">=</span><span class="n">train_dataset</span><span class="p">,</span> <span class="n">batch_size</span><span class="o">=</span><span class="n">batch_size</span><span class="p">,</span> <span class="n">shuffle</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">num_workers</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> | |
| <span class="k">return</span> <span class="n">train_loader</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Create-a-DataLoader">Create a DataLoader<a class="anchor-link" href="#Create-a-DataLoader">¶</a></h2><h4 id="Exercise:-Create-a-DataLoader-celeba_train_loader-with-appropriate-hyperparameters.">Exercise: Create a DataLoader <code>celeba_train_loader</code> with appropriate hyperparameters.<a class="anchor-link" href="#Exercise:-Create-a-DataLoader-celeba_train_loader-with-appropriate-hyperparameters.">¶</a></h4><p>Call the above function and create a dataloader to view images.</p> | |
| <ul> | |
| <li>You can decide on any reasonable <code>batch_size</code> parameter</li> | |
| <li>Your <code>image_size</code> <strong>must be</strong> <code>32</code>. Resizing the data to a smaller size will make for faster training, while still creating convincing images of faces!</li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [5]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Define function hyperparameters</span> | |
| <span class="n">batch_size</span> <span class="o">=</span> <span class="mi">50</span> | |
| <span class="n">img_size</span> <span class="o">=</span> <span class="mi">32</span> | |
| <span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE</span> | |
| <span class="sd">"""</span> | |
| <span class="c1"># Call your function and get a dataloader</span> | |
| <span class="n">celeba_train_loader</span> <span class="o">=</span> <span class="n">get_dataloader</span><span class="p">(</span><span class="n">batch_size</span><span class="p">,</span> <span class="n">img_size</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p>Next, you can view some images! You should seen square images of somewhat-centered faces.</p> | |
| <p>Note: You'll need to convert the Tensor images into a NumPy type and transpose the dimensions to correctly display an image, suggested <code>imshow</code> code is below, but it may not be perfect.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [6]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># helper display function</span> | |
| <span class="k">def</span> <span class="nf">imshow</span><span class="p">(</span><span class="n">img</span><span class="p">):</span> | |
| <span class="n">npimg</span> <span class="o">=</span> <span class="n">img</span><span class="o">.</span><span class="n">numpy</span><span class="p">()</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="n">npimg</span><span class="p">,</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">0</span><span class="p">)))</span> | |
| <span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE</span> | |
| <span class="sd">"""</span> | |
| <span class="c1"># obtain one batch of training images</span> | |
| <span class="n">dataiter</span> <span class="o">=</span> <span class="nb">iter</span><span class="p">(</span><span class="n">celeba_train_loader</span><span class="p">)</span> | |
| <span class="n">images</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">dataiter</span><span class="o">.</span><span class="n">next</span><span class="p">()</span> <span class="c1"># _ for no labels</span> | |
| <span class="c1"># plot the images in the batch, along with the corresponding labels</span> | |
| <span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> | |
| <span class="n">plot_size</span><span class="o">=</span><span class="mi">20</span> | |
| <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="n">plot_size</span><span class="p">):</span> | |
| <span class="n">ax</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_subplot</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="n">plot_size</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span> <span class="n">idx</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span> <span class="n">xticks</span><span class="o">=</span><span class="p">[],</span> <span class="n">yticks</span><span class="o">=</span><span class="p">[])</span> | |
| <span class="n">imshow</span><span class="p">(</span><span class="n">images</span><span class="p">[</span><span class="n">idx</span><span class="p">])</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h4 id="Exercise:-Pre-process-your-image-data-and-scale-it-to-a-pixel-range-of--1-to-1">Exercise: Pre-process your image data and scale it to a pixel range of -1 to 1<a class="anchor-link" href="#Exercise:-Pre-process-your-image-data-and-scale-it-to-a-pixel-range-of--1-to-1">¶</a></h4><p>You need to do a bit of pre-processing; you know that the output of a <code>tanh</code> activated generator will contain pixel values in a range from -1 to 1, and so, we need to rescale our training images to a range of -1 to 1. (Right now, they are in a range from 0-1.)</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [7]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># TODO: Complete the scale function</span> | |
| <span class="k">def</span> <span class="nf">scale</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">feature_range</span><span class="o">=</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)):</span> | |
| <span class="sd">''' Scale takes in an image x and returns that image, scaled</span> | |
| <span class="sd"> with a feature_range of pixel values from -1 to 1. </span> | |
| <span class="sd"> This function assumes that the input x is already scaled from 0-1.'''</span> | |
| <span class="c1"># assume x is scaled to (0, 1)</span> | |
| <span class="c1"># scale to feature_range and return scaled x</span> | |
| <span class="nb">min</span><span class="p">,</span> <span class="nb">max</span> <span class="o">=</span> <span class="n">feature_range</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="n">x</span> <span class="o">*</span> <span class="p">(</span><span class="nb">max</span> <span class="o">-</span> <span class="nb">min</span><span class="p">)</span> <span class="o">+</span> <span class="nb">min</span> | |
| <span class="k">return</span> <span class="n">x</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [8]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE</span> | |
| <span class="sd">"""</span> | |
| <span class="c1"># check scaled range</span> | |
| <span class="c1"># should be close to -1 to 1</span> | |
| <span class="n">img</span> <span class="o">=</span> <span class="n">images</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s1">'Min: '</span><span class="p">,</span> <span class="n">img</span><span class="o">.</span><span class="n">min</span><span class="p">())</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s1">'Max: '</span><span class="p">,</span> <span class="n">img</span><span class="o">.</span><span class="n">max</span><span class="p">())</span> | |
| <span class="n">scaled_img</span> <span class="o">=</span> <span class="n">scale</span><span class="p">(</span><span class="n">img</span><span class="p">)</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s1">'Min: '</span><span class="p">,</span> <span class="n">scaled_img</span><span class="o">.</span><span class="n">min</span><span class="p">())</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s1">'Max: '</span><span class="p">,</span> <span class="n">scaled_img</span><span class="o">.</span><span class="n">max</span><span class="p">())</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Min: tensor(1.00000e-02 * | |
| 4.7059) | |
| Max: tensor(0.9922) | |
| Min: tensor(-0.9059) | |
| Max: tensor(0.9843) | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <hr> | |
| <h1 id="Define-the-Model">Define the Model<a class="anchor-link" href="#Define-the-Model">¶</a></h1><p>A GAN is comprised of two adversarial networks, a discriminator and a generator.</p> | |
| <h2 id="Discriminator">Discriminator<a class="anchor-link" href="#Discriminator">¶</a></h2><p>Your first task will be to define the discriminator. This is a convolutional classifier like you've built before, only without any maxpooling layers. To deal with this complex data, it's suggested you use a deep network with <strong>normalization</strong>. You are also allowed to create any helper functions that may be useful.</p> | |
| <h4 id="Exercise:-Complete-the-Discriminator-class">Exercise: Complete the Discriminator class<a class="anchor-link" href="#Exercise:-Complete-the-Discriminator-class">¶</a></h4><ul> | |
| <li>The inputs to the discriminator are 32x32x3 tensor images</li> | |
| <li>The output should be a single value that will indicate whether a given image is real or fake</li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [9]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">torch.nn</span> <span class="k">as</span> <span class="nn">nn</span> | |
| <span class="kn">import</span> <span class="nn">torch.nn.functional</span> <span class="k">as</span> <span class="nn">F</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [10]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">torch.nn</span> <span class="k">as</span> <span class="nn">nn</span> | |
| <span class="kn">import</span> <span class="nn">torch.nn.functional</span> <span class="k">as</span> <span class="nn">F</span> | |
| <span class="c1"># helper conv function</span> | |
| <span class="k">def</span> <span class="nf">conv</span><span class="p">(</span><span class="n">in_channels</span><span class="p">,</span> <span class="n">out_channels</span><span class="p">,</span> <span class="n">kernel_size</span><span class="p">,</span> <span class="n">stride</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">batch_norm</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> | |
| <span class="sd">"""Creates a convolutional layer, with optional batch normalization.</span> | |
| <span class="sd"> """</span> | |
| <span class="n">layers</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="n">conv_layer</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Conv2d</span><span class="p">(</span><span class="n">in_channels</span><span class="o">=</span><span class="n">in_channels</span><span class="p">,</span> <span class="n">out_channels</span><span class="o">=</span><span class="n">out_channels</span><span class="p">,</span> | |
| <span class="n">kernel_size</span><span class="o">=</span><span class="n">kernel_size</span><span class="p">,</span> <span class="n">stride</span><span class="o">=</span><span class="n">stride</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="n">padding</span><span class="p">,</span> <span class="n">bias</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> | |
| <span class="n">layers</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">conv_layer</span><span class="p">)</span> | |
| <span class="k">if</span> <span class="n">batch_norm</span><span class="p">:</span> | |
| <span class="n">layers</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">nn</span><span class="o">.</span><span class="n">BatchNorm2d</span><span class="p">(</span><span class="n">out_channels</span><span class="p">))</span> | |
| <span class="k">return</span> <span class="n">nn</span><span class="o">.</span><span class="n">Sequential</span><span class="p">(</span><span class="o">*</span><span class="n">layers</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [11]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">class</span> <span class="nc">Discriminator</span><span class="p">(</span><span class="n">nn</span><span class="o">.</span><span class="n">Module</span><span class="p">):</span> | |
| <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">conv_dim</span><span class="p">):</span> | |
| <span class="sd">"""</span> | |
| <span class="sd"> Initialize the Discriminator Module</span> | |
| <span class="sd"> :param conv_dim: The depth of the first convolutional layer</span> | |
| <span class="sd"> """</span> | |
| <span class="nb">super</span><span class="p">(</span><span class="n">Discriminator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">()</span> | |
| <span class="c1"># complete init function</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">conv_dim</span> <span class="o">=</span> <span class="n">conv_dim</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">conv1</span> <span class="o">=</span> <span class="n">conv</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="n">conv_dim</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="n">batch_norm</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">conv2</span> <span class="o">=</span> <span class="n">conv</span><span class="p">(</span><span class="n">conv_dim</span><span class="p">,</span> <span class="n">conv_dim</span><span class="o">*</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">conv3</span> <span class="o">=</span> <span class="n">conv</span><span class="p">(</span><span class="n">conv_dim</span><span class="o">*</span><span class="mi">2</span><span class="p">,</span> <span class="n">conv_dim</span><span class="o">*</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">fc</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="n">conv_dim</span><span class="o">*</span><span class="mi">4</span><span class="o">*</span><span class="mi">4</span><span class="o">*</span><span class="mi">4</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">out</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Sigmoid</span><span class="p">()</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">dropout</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Dropout</span><span class="p">(</span><span class="mf">0.5</span><span class="p">)</span> | |
| <span class="k">def</span> <span class="nf">forward</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span> | |
| <span class="sd">"""</span> | |
| <span class="sd"> Forward propagation of the neural network</span> | |
| <span class="sd"> :param x: The input to the neural network </span> | |
| <span class="sd"> :return: Discriminator logits; the output of the neural network</span> | |
| <span class="sd"> """</span> | |
| <span class="c1"># define feedforward behavior</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="n">F</span><span class="o">.</span><span class="n">leaky_relu</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conv1</span><span class="p">(</span><span class="n">x</span><span class="p">))</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="n">F</span><span class="o">.</span><span class="n">leaky_relu</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conv2</span><span class="p">(</span><span class="n">x</span><span class="p">))</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dropout</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="n">F</span><span class="o">.</span><span class="n">leaky_relu</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">conv3</span><span class="p">(</span><span class="n">x</span><span class="p">))</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conv_dim</span><span class="o">*</span><span class="mi">4</span><span class="o">*</span><span class="mi">4</span><span class="o">*</span><span class="mi">4</span><span class="p">)</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fc</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> | |
| <span class="c1"># x = self.sigmoid(x)</span> | |
| <span class="c1"># x = self.dropout(x)</span> | |
| <span class="k">return</span> <span class="n">x</span> | |
| <span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE</span> | |
| <span class="sd">"""</span> | |
| <span class="n">tests</span><span class="o">.</span><span class="n">test_discriminator</span><span class="p">(</span><span class="n">Discriminator</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Tests Passed | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Generator">Generator<a class="anchor-link" href="#Generator">¶</a></h2><p>The generator should upsample an input and generate a <em>new</em> image of the same size as our training data <code>32x32x3</code>. This should be mostly transpose convolutional layers with normalization applied to the outputs.</p> | |
| <h4 id="Exercise:-Complete-the-Generator-class">Exercise: Complete the Generator class<a class="anchor-link" href="#Exercise:-Complete-the-Generator-class">¶</a></h4><ul> | |
| <li>The inputs to the generator are vectors of some length <code>z_size</code></li> | |
| <li>The output should be a image of shape <code>32x32x3</code></li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [12]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># helper deconv function</span> | |
| <span class="k">def</span> <span class="nf">deconv</span><span class="p">(</span><span class="n">in_channels</span><span class="p">,</span> <span class="n">out_channels</span><span class="p">,</span> <span class="n">kernel_size</span><span class="p">,</span> <span class="n">stride</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">batch_norm</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> | |
| <span class="sd">"""Creates a transposed-convolutional layer, with optional batch normalization.</span> | |
| <span class="sd"> """</span> | |
| <span class="c1">## TODO: Complete this function</span> | |
| <span class="c1">## create a sequence of transpose + optional batch norm layers</span> | |
| <span class="n">layers</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="n">transpose_conv_layer</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">ConvTranspose2d</span><span class="p">(</span><span class="n">in_channels</span><span class="p">,</span> <span class="n">out_channels</span><span class="p">,</span> | |
| <span class="n">kernel_size</span><span class="p">,</span> <span class="n">stride</span><span class="p">,</span> <span class="n">padding</span><span class="p">,</span> <span class="n">bias</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> | |
| <span class="c1"># append conv layer</span> | |
| <span class="n">layers</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">transpose_conv_layer</span><span class="p">)</span> | |
| <span class="k">if</span> <span class="n">batch_norm</span><span class="p">:</span> | |
| <span class="c1"># append batchnorm layer</span> | |
| <span class="n">layers</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">nn</span><span class="o">.</span><span class="n">BatchNorm2d</span><span class="p">(</span><span class="n">out_channels</span><span class="p">))</span> | |
| <span class="c1"># using Sequential container</span> | |
| <span class="k">return</span> <span class="n">nn</span><span class="o">.</span><span class="n">Sequential</span><span class="p">(</span><span class="o">*</span><span class="n">layers</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [13]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">class</span> <span class="nc">Generator</span><span class="p">(</span><span class="n">nn</span><span class="o">.</span><span class="n">Module</span><span class="p">):</span> | |
| <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">z_size</span><span class="p">,</span> <span class="n">conv_dim</span><span class="p">):</span> | |
| <span class="sd">"""</span> | |
| <span class="sd"> Initialize the Generator Module</span> | |
| <span class="sd"> :param z_size: The length of the input latent vector, z</span> | |
| <span class="sd"> :param conv_dim: The depth of the inputs to the *last* transpose convolutional layer</span> | |
| <span class="sd"> """</span> | |
| <span class="nb">super</span><span class="p">(</span><span class="n">Generator</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__init__</span><span class="p">()</span> | |
| <span class="c1"># complete init function</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">conv_dim</span> <span class="o">=</span> <span class="n">conv_dim</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">fc</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="n">z_size</span><span class="p">,</span> <span class="n">conv_dim</span><span class="o">*</span><span class="mi">4</span><span class="o">*</span><span class="mi">4</span><span class="o">*</span><span class="mi">4</span><span class="p">)</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">deconv1</span> <span class="o">=</span> <span class="n">deconv</span><span class="p">(</span><span class="n">conv_dim</span><span class="o">*</span><span class="mi">4</span><span class="p">,</span> <span class="n">conv_dim</span><span class="o">*</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">deconv2</span> <span class="o">=</span> <span class="n">deconv</span><span class="p">(</span><span class="n">conv_dim</span><span class="o">*</span><span class="mi">2</span><span class="p">,</span> <span class="n">conv_dim</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> | |
| <span class="bp">self</span><span class="o">.</span><span class="n">deconv3</span> <span class="o">=</span> <span class="n">deconv</span><span class="p">(</span><span class="n">conv_dim</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="n">batch_norm</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> | |
| <span class="k">def</span> <span class="nf">forward</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">x</span><span class="p">):</span> | |
| <span class="sd">"""</span> | |
| <span class="sd"> Forward propagation of the neural network</span> | |
| <span class="sd"> :param x: The input to the neural network </span> | |
| <span class="sd"> :return: A 32x32x3 Tensor image as output</span> | |
| <span class="sd"> """</span> | |
| <span class="c1"># define feedforward behavior</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">fc</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">conv_dim</span><span class="o">*</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="n">F</span><span class="o">.</span><span class="n">relu</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">deconv1</span><span class="p">(</span><span class="n">x</span><span class="p">))</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="n">F</span><span class="o">.</span><span class="n">relu</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">deconv2</span><span class="p">(</span><span class="n">x</span><span class="p">))</span> | |
| <span class="n">x</span> <span class="o">=</span> <span class="n">F</span><span class="o">.</span><span class="n">tanh</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">deconv3</span><span class="p">(</span><span class="n">x</span><span class="p">))</span> | |
| <span class="k">return</span> <span class="n">x</span> | |
| <span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE</span> | |
| <span class="sd">"""</span> | |
| <span class="n">tests</span><span class="o">.</span><span class="n">test_generator</span><span class="p">(</span><span class="n">Generator</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Tests Passed | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Initialize-the-weights-of-your-networks">Initialize the weights of your networks<a class="anchor-link" href="#Initialize-the-weights-of-your-networks">¶</a></h2><p>To help your models converge, you should initialize the weights of the convolutional and linear layers in your model. From reading the <a href="https://arxiv.org/pdf/1511.06434.pdf">original DCGAN paper</a>, they say:</p> | |
| <blockquote><p>All weights were initialized from a zero-centered Normal distribution with standard deviation 0.02.</p> | |
| </blockquote> | |
| <p>So, your next task will be to define a weight initialization function that does just this!</p> | |
| <p>You can refer back to the lesson on weight initialization or even consult existing model code, such as that from <a href="https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/models/networks.py">the <code>networks.py</code> file in CycleGAN Github repository</a> to help you complete this function.</p> | |
| <h4 id="Exercise:-Complete-the-weight-initialization-function">Exercise: Complete the weight initialization function<a class="anchor-link" href="#Exercise:-Complete-the-weight-initialization-function">¶</a></h4><ul> | |
| <li>This should initialize only <strong>convolutional</strong> and <strong>linear</strong> layers</li> | |
| <li>Initialize the weights to a normal distribution, centered around 0, with a standard deviation of 0.02.</li> | |
| <li>The bias terms, if they exist, may be left alone or set to 0.</li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [14]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">weights_init_normal</span><span class="p">(</span><span class="n">m</span><span class="p">,</span> <span class="n">mean</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">std</span> <span class="o">=</span> <span class="mf">0.02</span><span class="p">):</span> | |
| <span class="sd">"""</span> | |
| <span class="sd"> Applies initial weights to certain layers in a model .</span> | |
| <span class="sd"> The weights are taken from a normal distribution </span> | |
| <span class="sd"> with mean = 0, std dev = 0.02.</span> | |
| <span class="sd"> :param m: A module or layer in a network </span> | |
| <span class="sd"> """</span> | |
| <span class="c1"># classname will be something like:</span> | |
| <span class="c1"># `Conv`, `BatchNorm2d`, `Linear`, etc.</span> | |
| <span class="n">classname</span> <span class="o">=</span> <span class="n">m</span><span class="o">.</span><span class="vm">__class__</span><span class="o">.</span><span class="vm">__name__</span> | |
| <span class="c1"># TODO: Apply initial weights to convolutional and linear layers</span> | |
| <span class="k">if</span> <span class="n">classname</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="s1">'Linear'</span><span class="p">)</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span> | |
| <span class="n">n</span> <span class="o">=</span> <span class="n">m</span><span class="o">.</span><span class="n">in_features</span> | |
| <span class="n">y</span> <span class="o">=</span> <span class="p">(</span><span class="mf">1.0</span> <span class="o">/</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">n</span><span class="p">))</span> | |
| <span class="n">m</span><span class="o">.</span><span class="n">weight</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">normal_</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">std</span><span class="p">)</span> | |
| <span class="n">m</span><span class="o">.</span><span class="n">bias</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">fill_</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Build-complete-network">Build complete network<a class="anchor-link" href="#Build-complete-network">¶</a></h2><p>Define your models' hyperparameters and instantiate the discriminator and generator from the classes defined above. Make sure you've passed in the correct input arguments.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [15]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE</span> | |
| <span class="sd">"""</span> | |
| <span class="k">def</span> <span class="nf">build_network</span><span class="p">(</span><span class="n">d_conv_dim</span><span class="p">,</span> <span class="n">g_conv_dim</span><span class="p">,</span> <span class="n">z_size</span><span class="p">):</span> | |
| <span class="c1"># define discriminator and generator</span> | |
| <span class="n">D</span> <span class="o">=</span> <span class="n">Discriminator</span><span class="p">(</span><span class="n">d_conv_dim</span><span class="p">)</span> | |
| <span class="n">G</span> <span class="o">=</span> <span class="n">Generator</span><span class="p">(</span><span class="n">z_size</span><span class="o">=</span><span class="n">z_size</span><span class="p">,</span> <span class="n">conv_dim</span><span class="o">=</span><span class="n">g_conv_dim</span><span class="p">)</span> | |
| <span class="c1"># initialize model weights</span> | |
| <span class="n">D</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="n">weights_init_normal</span><span class="p">)</span> | |
| <span class="n">G</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="n">weights_init_normal</span><span class="p">)</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="n">D</span><span class="p">)</span> | |
| <span class="nb">print</span><span class="p">()</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="n">G</span><span class="p">)</span> | |
| <span class="k">return</span> <span class="n">D</span><span class="p">,</span> <span class="n">G</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h4 id="Exercise:-Define-model-hyperparameters">Exercise: Define model hyperparameters<a class="anchor-link" href="#Exercise:-Define-model-hyperparameters">¶</a></h4> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [16]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Define model hyperparams</span> | |
| <span class="n">d_conv_dim</span> <span class="o">=</span> <span class="mi">32</span> | |
| <span class="n">g_conv_dim</span> <span class="o">=</span> <span class="mi">32</span> | |
| <span class="n">z_size</span> <span class="o">=</span> <span class="mi">100</span> | |
| <span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE</span> | |
| <span class="sd">"""</span> | |
| <span class="n">D</span><span class="p">,</span> <span class="n">G</span> <span class="o">=</span> <span class="n">build_network</span><span class="p">(</span><span class="n">d_conv_dim</span><span class="p">,</span> <span class="n">g_conv_dim</span><span class="p">,</span> <span class="n">z_size</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Discriminator( | |
| (conv1): Sequential( | |
| (0): Conv2d(3, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1), bias=False) | |
| ) | |
| (conv2): Sequential( | |
| (0): Conv2d(32, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1), bias=False) | |
| (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) | |
| ) | |
| (conv3): Sequential( | |
| (0): Conv2d(64, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1), bias=False) | |
| (1): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) | |
| ) | |
| (fc): Linear(in_features=2048, out_features=1, bias=True) | |
| (out): Sigmoid() | |
| (dropout): Dropout(p=0.5) | |
| ) | |
| Generator( | |
| (fc): Linear(in_features=100, out_features=2048, bias=True) | |
| (deconv1): Sequential( | |
| (0): ConvTranspose2d(128, 64, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1), bias=False) | |
| (1): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) | |
| ) | |
| (deconv2): Sequential( | |
| (0): ConvTranspose2d(64, 32, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1), bias=False) | |
| (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) | |
| ) | |
| (deconv3): Sequential( | |
| (0): ConvTranspose2d(32, 3, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1), bias=False) | |
| ) | |
| ) | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h3 id="Training-on-GPU">Training on GPU<a class="anchor-link" href="#Training-on-GPU">¶</a></h3><p>Check if you can train on GPU. Here, we'll set this as a boolean variable <code>train_on_gpu</code>. Later, you'll be responsible for making sure that</p> | |
| <blockquote><ul> | |
| <li>Models,</li> | |
| <li>Model inputs, and</li> | |
| <li>Loss function arguments</li> | |
| </ul> | |
| </blockquote> | |
| <p>Are moved to GPU, where appropriate.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [17]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL</span> | |
| <span class="sd">"""</span> | |
| <span class="kn">import</span> <span class="nn">torch</span> | |
| <span class="c1"># Check for a GPU</span> | |
| <span class="n">train_on_gpu</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">cuda</span><span class="o">.</span><span class="n">is_available</span><span class="p">()</span> | |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">train_on_gpu</span><span class="p">:</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s1">'No GPU found. Please use a GPU to train your neural network.'</span><span class="p">)</span> | |
| <span class="k">else</span><span class="p">:</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s1">'Training on GPU!'</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Training on GPU! | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <hr> | |
| <h2 id="Discriminator-and-Generator-Losses">Discriminator and Generator Losses<a class="anchor-link" href="#Discriminator-and-Generator-Losses">¶</a></h2><p>Now we need to calculate the losses for both types of adversarial networks.</p> | |
| <h3 id="Discriminator-Losses">Discriminator Losses<a class="anchor-link" href="#Discriminator-Losses">¶</a></h3><blockquote><ul> | |
| <li>For the discriminator, the total loss is the sum of the losses for real and fake images, <code>d_loss = d_real_loss + d_fake_loss</code>. </li> | |
| <li>Remember that we want the discriminator to output 1 for real images and 0 for fake images, so we need to set up the losses to reflect that.</li> | |
| </ul> | |
| </blockquote> | |
| <h3 id="Generator-Loss">Generator Loss<a class="anchor-link" href="#Generator-Loss">¶</a></h3><p>The generator loss will look similar only with flipped labels. The generator's goal is to get the discriminator to <em>think</em> its generated images are <em>real</em>.</p> | |
| <h4 id="Exercise:-Complete-real-and-fake-loss-functions">Exercise: Complete real and fake loss functions<a class="anchor-link" href="#Exercise:-Complete-real-and-fake-loss-functions">¶</a></h4><p><strong>You may choose to use either cross entropy or a least squares error loss to complete the following <code>real_loss</code> and <code>fake_loss</code> functions.</strong></p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [18]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">real_loss</span><span class="p">(</span><span class="n">D_out</span><span class="p">):</span> | |
| <span class="sd">'''Calculates how close discriminator outputs are to being real.</span> | |
| <span class="sd"> param, D_out: discriminator logits</span> | |
| <span class="sd"> return: real loss'''</span> | |
| <span class="n">batch_size</span> <span class="o">=</span> <span class="n">D_out</span><span class="o">.</span><span class="n">size</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> | |
| <span class="c1"># label smoothing</span> | |
| <span class="n">labels</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">ones</span><span class="p">(</span><span class="n">batch_size</span><span class="p">)</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="mf">0.7</span><span class="p">,</span> <span class="mf">1.2</span><span class="p">)</span> | |
| <span class="c1"># labels = torch.ones(batch_size) * 0.9</span> | |
| <span class="c1"># labels = torch.ones(batch_size) # real labels = 1</span> | |
| <span class="k">if</span> <span class="n">train_on_gpu</span><span class="p">:</span> | |
| <span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span><span class="o">.</span><span class="n">cuda</span><span class="p">()</span> | |
| <span class="n">criterion</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">BCEWithLogitsLoss</span><span class="p">()</span> | |
| <span class="n">loss</span> <span class="o">=</span> <span class="n">criterion</span><span class="p">(</span><span class="n">D_out</span><span class="o">.</span><span class="n">squeeze</span><span class="p">(),</span> <span class="n">labels</span><span class="p">)</span> | |
| <span class="c1"># loss = torch.mean(-loss)</span> | |
| <span class="c1"># loss = torch.mean((D_out-1)**2)</span> | |
| <span class="k">return</span> <span class="n">loss</span> | |
| <span class="k">def</span> <span class="nf">fake_loss</span><span class="p">(</span><span class="n">D_out</span><span class="p">):</span> | |
| <span class="sd">'''Calculates how close discriminator outputs are to being fake.</span> | |
| <span class="sd"> param, D_out: discriminator logits</span> | |
| <span class="sd"> return: fake loss'''</span> | |
| <span class="n">batch_size</span> <span class="o">=</span> <span class="n">D_out</span><span class="o">.</span><span class="n">size</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> | |
| <span class="c1"># labels = torch.zeros(batch_size) + 0.0 # fake labels = 0</span> | |
| <span class="n">labels</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">batch_size</span><span class="p">)</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">)</span> <span class="c1"># fake labels = 0.3</span> | |
| <span class="c1"># print(labels)</span> | |
| <span class="k">if</span> <span class="n">train_on_gpu</span><span class="p">:</span> | |
| <span class="n">labels</span> <span class="o">=</span> <span class="n">labels</span><span class="o">.</span><span class="n">cuda</span><span class="p">()</span> | |
| <span class="n">criterion</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">BCEWithLogitsLoss</span><span class="p">()</span> | |
| <span class="n">loss</span> <span class="o">=</span> <span class="n">criterion</span><span class="p">(</span><span class="n">D_out</span><span class="o">.</span><span class="n">squeeze</span><span class="p">(),</span> <span class="n">labels</span><span class="p">)</span> | |
| <span class="c1"># loss = torch.mean(loss)</span> | |
| <span class="c1"># loss = torch.mean(D_out**2)</span> | |
| <span class="k">return</span> <span class="n">loss</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Optimizers">Optimizers<a class="anchor-link" href="#Optimizers">¶</a></h2><h4 id="Exercise:-Define-optimizers-for-your-Discriminator-(D)-and-Generator-(G)">Exercise: Define optimizers for your Discriminator (D) and Generator (G)<a class="anchor-link" href="#Exercise:-Define-optimizers-for-your-Discriminator-(D)-and-Generator-(G)">¶</a></h4><p>Define optimizers for your models with appropriate hyperparameters.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [19]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">torch.optim</span> <span class="k">as</span> <span class="nn">optim</span> | |
| <span class="c1"># params</span> | |
| <span class="n">lr</span> <span class="o">=</span> <span class="mf">0.0005</span> | |
| <span class="n">beta1</span><span class="o">=</span> <span class="mf">0.1</span> | |
| <span class="n">beta2</span><span class="o">=</span> <span class="mf">0.99</span> | |
| <span class="c1"># Create optimizers for the discriminator D and generator G</span> | |
| <span class="n">d_optimizer</span> <span class="o">=</span> <span class="n">optim</span><span class="o">.</span><span class="n">Adam</span><span class="p">(</span><span class="n">D</span><span class="o">.</span><span class="n">parameters</span><span class="p">(),</span> <span class="n">lr</span><span class="p">,</span> <span class="p">[</span><span class="n">beta1</span><span class="p">,</span> <span class="n">beta2</span><span class="p">])</span> | |
| <span class="n">g_optimizer</span> <span class="o">=</span> <span class="n">optim</span><span class="o">.</span><span class="n">Adam</span><span class="p">(</span><span class="n">G</span><span class="o">.</span><span class="n">parameters</span><span class="p">(),</span> <span class="n">lr</span><span class="p">,</span> <span class="p">[</span><span class="n">beta1</span><span class="p">,</span> <span class="n">beta2</span><span class="p">])</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <hr> | |
| <h2 id="Training">Training<a class="anchor-link" href="#Training">¶</a></h2><p>Training will involve alternating between training the discriminator and the generator. You'll use your functions <code>real_loss</code> and <code>fake_loss</code> to help you calculate the discriminator losses.</p> | |
| <ul> | |
| <li>You should train the discriminator by alternating on real and fake images</li> | |
| <li>Then the generator, which tries to trick the discriminator and should have an opposing loss function</li> | |
| </ul> | |
| <h4 id="Saving-Samples">Saving Samples<a class="anchor-link" href="#Saving-Samples">¶</a></h4><p>You've been given some code to print out some loss statistics and save some generated "fake" samples.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h4 id="Exercise:-Complete-the-training-function">Exercise: Complete the training function<a class="anchor-link" href="#Exercise:-Complete-the-training-function">¶</a></h4><p>Keep in mind that, if you've moved your models to GPU, you'll also have to move any model inputs to GPU.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [20]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">train</span><span class="p">(</span><span class="n">D</span><span class="p">,</span> <span class="n">G</span><span class="p">,</span> <span class="n">n_epochs</span><span class="p">,</span> <span class="n">print_every</span><span class="o">=</span><span class="mi">50</span><span class="p">):</span> | |
| <span class="sd">'''Trains adversarial networks for some number of epochs</span> | |
| <span class="sd"> param, D: the discriminator network</span> | |
| <span class="sd"> param, G: the generator network</span> | |
| <span class="sd"> param, n_epochs: number of epochs to train for</span> | |
| <span class="sd"> param, print_every: when to print and record the models' losses</span> | |
| <span class="sd"> return: D and G losses'''</span> | |
| <span class="c1"># move models to GPU</span> | |
| <span class="k">if</span> <span class="n">train_on_gpu</span><span class="p">:</span> | |
| <span class="n">D</span><span class="o">.</span><span class="n">cuda</span><span class="p">()</span> | |
| <span class="n">G</span><span class="o">.</span><span class="n">cuda</span><span class="p">()</span> | |
| <span class="c1"># keep track of loss and generated, "fake" samples</span> | |
| <span class="n">samples</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="n">losses</span> <span class="o">=</span> <span class="p">[]</span> | |
| <span class="c1"># Get some fixed data for sampling. These are images that are held</span> | |
| <span class="c1"># constant throughout training, and allow us to inspect the model's performance</span> | |
| <span class="n">sample_size</span><span class="o">=</span><span class="mi">16</span> | |
| <span class="n">fixed_z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="n">sample_size</span><span class="p">,</span> <span class="n">z_size</span><span class="p">))</span> | |
| <span class="n">fixed_z</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">from_numpy</span><span class="p">(</span><span class="n">fixed_z</span><span class="p">)</span><span class="o">.</span><span class="n">float</span><span class="p">()</span> | |
| <span class="c1"># move z to GPU if available</span> | |
| <span class="k">if</span> <span class="n">train_on_gpu</span><span class="p">:</span> | |
| <span class="n">fixed_z</span> <span class="o">=</span> <span class="n">fixed_z</span><span class="o">.</span><span class="n">cuda</span><span class="p">()</span> | |
| <span class="c1"># epoch training loop</span> | |
| <span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n_epochs</span><span class="p">):</span> | |
| <span class="c1"># batch training loop</span> | |
| <span class="k">for</span> <span class="n">batch_i</span><span class="p">,</span> <span class="p">(</span><span class="n">real_images</span><span class="p">,</span> <span class="n">_</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">celeba_train_loader</span><span class="p">):</span> | |
| <span class="n">batch_size</span> <span class="o">=</span> <span class="n">real_images</span><span class="o">.</span><span class="n">size</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> | |
| <span class="n">real_images</span> <span class="o">=</span> <span class="n">scale</span><span class="p">(</span><span class="n">real_images</span><span class="p">)</span> | |
| <span class="c1"># ===============================================</span> | |
| <span class="c1"># YOUR CODE HERE: TRAIN THE NETWORKS</span> | |
| <span class="c1"># ===============================================</span> | |
| <span class="c1"># 1. Train the discriminator on real and fake images</span> | |
| <span class="n">d_optimizer</span><span class="o">.</span><span class="n">zero_grad</span><span class="p">()</span> | |
| <span class="k">if</span> <span class="n">train_on_gpu</span><span class="p">:</span> | |
| <span class="n">real_images</span> <span class="o">=</span> <span class="n">real_images</span><span class="o">.</span><span class="n">cuda</span><span class="p">()</span> | |
| <span class="n">d_out</span> <span class="o">=</span> <span class="n">D</span><span class="p">(</span><span class="n">real_images</span><span class="p">)</span> | |
| <span class="n">d_real_loss</span> <span class="o">=</span> <span class="n">real_loss</span><span class="p">(</span><span class="n">d_out</span><span class="p">)</span> | |
| <span class="c1"># Generate fake images</span> | |
| <span class="n">z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="n">batch_size</span><span class="p">,</span> <span class="n">z_size</span><span class="p">))</span> | |
| <span class="n">z</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">from_numpy</span><span class="p">(</span><span class="n">z</span><span class="p">)</span><span class="o">.</span><span class="n">float</span><span class="p">()</span> | |
| <span class="k">if</span> <span class="n">train_on_gpu</span><span class="p">:</span> | |
| <span class="n">z</span> <span class="o">=</span> <span class="n">z</span><span class="o">.</span><span class="n">cuda</span><span class="p">()</span> | |
| <span class="n">fake_images</span> <span class="o">=</span> <span class="n">G</span><span class="p">(</span><span class="n">z</span><span class="p">)</span> | |
| <span class="n">d_fake_out</span> <span class="o">=</span> <span class="n">D</span><span class="p">(</span><span class="n">fake_images</span><span class="p">)</span> | |
| <span class="n">d_fake_loss</span> <span class="o">=</span> <span class="n">fake_loss</span><span class="p">(</span><span class="n">d_fake_out</span><span class="p">)</span> | |
| <span class="c1"># add up loss and perform backprop</span> | |
| <span class="n">d_loss</span> <span class="o">=</span> <span class="n">d_real_loss</span> <span class="o">+</span> <span class="n">d_fake_loss</span> | |
| <span class="n">d_loss</span><span class="o">.</span><span class="n">backward</span><span class="p">()</span> | |
| <span class="n">d_optimizer</span><span class="o">.</span><span class="n">step</span><span class="p">()</span> | |
| <span class="c1"># 2. Train the generator with an adversarial loss</span> | |
| <span class="n">g_optimizer</span><span class="o">.</span><span class="n">zero_grad</span><span class="p">()</span> | |
| <span class="c1"># Generate fake images</span> | |
| <span class="n">z</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="n">batch_size</span><span class="p">,</span> <span class="n">z_size</span><span class="p">))</span> | |
| <span class="n">z</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">from_numpy</span><span class="p">(</span><span class="n">z</span><span class="p">)</span><span class="o">.</span><span class="n">float</span><span class="p">()</span> | |
| <span class="k">if</span> <span class="n">train_on_gpu</span><span class="p">:</span> | |
| <span class="n">z</span> <span class="o">=</span> <span class="n">z</span><span class="o">.</span><span class="n">cuda</span><span class="p">()</span> | |
| <span class="n">fake_images</span> <span class="o">=</span> <span class="n">G</span><span class="p">(</span><span class="n">z</span><span class="p">)</span> | |
| <span class="c1"># D.eval()</span> | |
| <span class="c1"># Compute the discriminator losses on fake images </span> | |
| <span class="c1"># using flipped labels!</span> | |
| <span class="n">g_fake_out</span> <span class="o">=</span> <span class="n">D</span><span class="p">(</span><span class="n">fake_images</span><span class="p">)</span> | |
| <span class="n">g_loss</span> <span class="o">=</span> <span class="n">real_loss</span><span class="p">(</span><span class="n">g_fake_out</span><span class="p">)</span> <span class="c1"># use real loss to flip labels</span> | |
| <span class="c1"># g_loss = torch.mean(g_fake_out**2)</span> | |
| <span class="c1"># D.train()</span> | |
| <span class="c1"># perform backprop</span> | |
| <span class="n">g_loss</span><span class="o">.</span><span class="n">backward</span><span class="p">()</span> | |
| <span class="n">g_optimizer</span><span class="o">.</span><span class="n">step</span><span class="p">()</span> | |
| <span class="c1"># ===============================================</span> | |
| <span class="c1"># END OF YOUR CODE</span> | |
| <span class="c1"># ===============================================</span> | |
| <span class="c1"># Print some loss stats</span> | |
| <span class="k">if</span> <span class="n">batch_i</span> <span class="o">%</span> <span class="n">print_every</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> | |
| <span class="c1"># append discriminator loss and generator loss</span> | |
| <span class="n">losses</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">d_loss</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="n">g_loss</span><span class="o">.</span><span class="n">item</span><span class="p">()))</span> | |
| <span class="c1"># print discriminator and generator loss</span> | |
| <span class="nb">print</span><span class="p">(</span><span class="s1">'Epoch [</span><span class="si">{:5d}</span><span class="s1">/</span><span class="si">{:5d}</span><span class="s1">] | d_loss: </span><span class="si">{:6.4f}</span><span class="s1"> | g_loss: </span><span class="si">{:6.4f}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> | |
| <span class="n">epoch</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span> <span class="n">n_epochs</span><span class="p">,</span> <span class="n">d_loss</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="n">g_loss</span><span class="o">.</span><span class="n">item</span><span class="p">()))</span> | |
| <span class="c1">## AFTER EACH EPOCH## </span> | |
| <span class="c1"># this code assumes your generator is named G, feel free to change the name</span> | |
| <span class="c1"># generate and save sample, fake images</span> | |
| <span class="n">G</span><span class="o">.</span><span class="n">eval</span><span class="p">()</span> <span class="c1"># for generating samples</span> | |
| <span class="n">samples_z</span> <span class="o">=</span> <span class="n">G</span><span class="p">(</span><span class="n">fixed_z</span><span class="p">)</span> | |
| <span class="n">samples</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">samples_z</span><span class="p">)</span> | |
| <span class="n">G</span><span class="o">.</span><span class="n">train</span><span class="p">()</span> <span class="c1"># back to training mode</span> | |
| <span class="c1"># Save training generator samples</span> | |
| <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'train_samples.pkl'</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> | |
| <span class="n">pkl</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">samples</span><span class="p">,</span> <span class="n">f</span><span class="p">)</span> | |
| <span class="c1"># finally return losses</span> | |
| <span class="k">return</span> <span class="n">losses</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p>Set your number of training epochs and train your GAN!</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [21]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># set number of epochs </span> | |
| <span class="n">n_epochs</span> <span class="o">=</span> <span class="mi">5</span> | |
| <span class="sd">"""</span> | |
| <span class="sd">DON'T MODIFY ANYTHING IN THIS CELL</span> | |
| <span class="sd">"""</span> | |
| <span class="c1"># call training function</span> | |
| <span class="n">losses</span> <span class="o">=</span> <span class="n">train</span><span class="p">(</span><span class="n">D</span><span class="p">,</span> <span class="n">G</span><span class="p">,</span> <span class="n">n_epochs</span><span class="o">=</span><span class="n">n_epochs</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_subarea output_stream output_stdout output_text"> | |
| <pre>Epoch [ 1/ 5] | d_loss: 1.4512 | g_loss: 0.6774 | |
| Epoch [ 1/ 5] | d_loss: 1.0031 | g_loss: 1.8870 | |
| Epoch [ 1/ 5] | d_loss: 1.0646 | g_loss: 1.2676 | |
| Epoch [ 1/ 5] | d_loss: 1.1761 | g_loss: 1.1594 | |
| Epoch [ 1/ 5] | d_loss: 1.2736 | g_loss: 0.9588 | |
| Epoch [ 1/ 5] | d_loss: 1.1289 | g_loss: 0.7909 | |
| Epoch [ 1/ 5] | d_loss: 1.2941 | g_loss: 1.0160 | |
| Epoch [ 1/ 5] | d_loss: 1.4289 | g_loss: 0.7826 | |
| Epoch [ 1/ 5] | d_loss: 1.3068 | g_loss: 0.8261 | |
| Epoch [ 1/ 5] | d_loss: 1.3585 | g_loss: 1.1904 | |
| Epoch [ 1/ 5] | d_loss: 1.3938 | g_loss: 0.8998 | |
| Epoch [ 1/ 5] | d_loss: 1.2739 | g_loss: 0.7398 | |
| Epoch [ 1/ 5] | d_loss: 1.2001 | g_loss: 0.6115 | |
| Epoch [ 1/ 5] | d_loss: 1.2399 | g_loss: 0.8873 | |
| Epoch [ 1/ 5] | d_loss: 1.2886 | g_loss: 0.7089 | |
| Epoch [ 1/ 5] | d_loss: 1.2606 | g_loss: 0.8916 | |
| Epoch [ 1/ 5] | d_loss: 1.2593 | g_loss: 0.9396 | |
| Epoch [ 1/ 5] | d_loss: 1.3003 | g_loss: 0.8172 | |
| Epoch [ 1/ 5] | d_loss: 1.2948 | g_loss: 0.8364 | |
| Epoch [ 1/ 5] | d_loss: 1.4192 | g_loss: 0.6579 | |
| Epoch [ 1/ 5] | d_loss: 1.4574 | g_loss: 1.0043 | |
| Epoch [ 1/ 5] | d_loss: 1.2625 | g_loss: 0.9301 | |
| Epoch [ 1/ 5] | d_loss: 1.2346 | g_loss: 0.7706 | |
| Epoch [ 1/ 5] | d_loss: 1.2308 | g_loss: 1.0683 | |
| Epoch [ 1/ 5] | d_loss: 1.3627 | g_loss: 0.7757 | |
| Epoch [ 1/ 5] | d_loss: 1.3524 | g_loss: 0.8618 | |
| Epoch [ 1/ 5] | d_loss: 1.2603 | g_loss: 0.8094 | |
| Epoch [ 1/ 5] | d_loss: 1.3459 | g_loss: 1.0107 | |
| Epoch [ 1/ 5] | d_loss: 1.4749 | g_loss: 1.4290 | |
| Epoch [ 1/ 5] | d_loss: 1.2147 | g_loss: 0.9652 | |
| Epoch [ 1/ 5] | d_loss: 1.2276 | g_loss: 0.9819 | |
| Epoch [ 1/ 5] | d_loss: 1.2766 | g_loss: 1.0021 | |
| Epoch [ 1/ 5] | d_loss: 1.1978 | g_loss: 1.2185 | |
| Epoch [ 1/ 5] | d_loss: 1.3152 | g_loss: 1.0385 | |
| Epoch [ 1/ 5] | d_loss: 1.2086 | g_loss: 0.9374 | |
| Epoch [ 1/ 5] | d_loss: 1.2663 | g_loss: 0.7858 | |
| Epoch [ 2/ 5] | d_loss: 1.2216 | g_loss: 0.7454 | |
| Epoch [ 2/ 5] | d_loss: 1.3411 | g_loss: 0.8433 | |
| Epoch [ 2/ 5] | d_loss: 1.1817 | g_loss: 0.9528 | |
| Epoch [ 2/ 5] | d_loss: 1.1605 | g_loss: 0.9718 | |
| Epoch [ 2/ 5] | d_loss: 1.1672 | g_loss: 1.0190 | |
| Epoch [ 2/ 5] | d_loss: 1.4841 | g_loss: 0.5826 | |
| Epoch [ 2/ 5] | d_loss: 1.4780 | g_loss: 1.1607 | |
| Epoch [ 2/ 5] | d_loss: 1.2772 | g_loss: 0.8027 | |
| Epoch [ 2/ 5] | d_loss: 1.2898 | g_loss: 0.8128 | |
| Epoch [ 2/ 5] | d_loss: 1.2105 | g_loss: 0.8560 | |
| Epoch [ 2/ 5] | d_loss: 1.2308 | g_loss: 1.1662 | |
| Epoch [ 2/ 5] | d_loss: 1.2322 | g_loss: 1.6485 | |
| Epoch [ 2/ 5] | d_loss: 1.1757 | g_loss: 0.8678 | |
| Epoch [ 2/ 5] | d_loss: 1.3020 | g_loss: 0.9618 | |
| Epoch [ 2/ 5] | d_loss: 1.1904 | g_loss: 0.7317 | |
| Epoch [ 2/ 5] | d_loss: 1.1589 | g_loss: 1.0140 | |
| Epoch [ 2/ 5] | d_loss: 1.2937 | g_loss: 0.8831 | |
| Epoch [ 2/ 5] | d_loss: 1.3195 | g_loss: 0.9513 | |
| Epoch [ 2/ 5] | d_loss: 1.2277 | g_loss: 0.9246 | |
| Epoch [ 2/ 5] | d_loss: 1.3484 | g_loss: 0.8492 | |
| Epoch [ 2/ 5] | d_loss: 1.4225 | g_loss: 0.7255 | |
| Epoch [ 2/ 5] | d_loss: 1.5811 | g_loss: 0.9930 | |
| Epoch [ 2/ 5] | d_loss: 1.0862 | g_loss: 0.7535 | |
| Epoch [ 2/ 5] | d_loss: 1.5381 | g_loss: 1.3509 | |
| Epoch [ 2/ 5] | d_loss: 1.1441 | g_loss: 0.6839 | |
| Epoch [ 2/ 5] | d_loss: 1.2529 | g_loss: 1.1457 | |
| Epoch [ 2/ 5] | d_loss: 1.0711 | g_loss: 1.2715 | |
| Epoch [ 2/ 5] | d_loss: 1.1497 | g_loss: 1.1456 | |
| Epoch [ 2/ 5] | d_loss: 1.1632 | g_loss: 0.8482 | |
| Epoch [ 2/ 5] | d_loss: 1.2752 | g_loss: 0.9467 | |
| Epoch [ 2/ 5] | d_loss: 1.1781 | g_loss: 0.7733 | |
| Epoch [ 2/ 5] | d_loss: 1.3610 | g_loss: 0.7139 | |
| Epoch [ 2/ 5] | d_loss: 1.4149 | g_loss: 0.9443 | |
| Epoch [ 2/ 5] | d_loss: 1.1845 | g_loss: 0.9711 | |
| Epoch [ 2/ 5] | d_loss: 1.3825 | g_loss: 0.8082 | |
| Epoch [ 2/ 5] | d_loss: 1.2722 | g_loss: 0.7211 | |
| Epoch [ 3/ 5] | d_loss: 1.2750 | g_loss: 1.4207 | |
| Epoch [ 3/ 5] | d_loss: 1.2109 | g_loss: 1.3828 | |
| Epoch [ 3/ 5] | d_loss: 1.1781 | g_loss: 1.2904 | |
| Epoch [ 3/ 5] | d_loss: 1.0695 | g_loss: 0.9357 | |
| Epoch [ 3/ 5] | d_loss: 1.1985 | g_loss: 1.0037 | |
| Epoch [ 3/ 5] | d_loss: 1.1425 | g_loss: 1.0286 | |
| Epoch [ 3/ 5] | d_loss: 1.3415 | g_loss: 0.9997 | |
| Epoch [ 3/ 5] | d_loss: 1.1690 | g_loss: 0.9923 | |
| Epoch [ 3/ 5] | d_loss: 1.1890 | g_loss: 0.8568 | |
| Epoch [ 3/ 5] | d_loss: 1.3142 | g_loss: 0.9820 | |
| Epoch [ 3/ 5] | d_loss: 1.3405 | g_loss: 0.6944 | |
| Epoch [ 3/ 5] | d_loss: 1.0371 | g_loss: 0.9043 | |
| Epoch [ 3/ 5] | d_loss: 1.6020 | g_loss: 1.6006 | |
| Epoch [ 3/ 5] | d_loss: 1.2233 | g_loss: 0.8672 | |
| Epoch [ 3/ 5] | d_loss: 1.1243 | g_loss: 0.9389 | |
| Epoch [ 3/ 5] | d_loss: 1.1280 | g_loss: 0.9819 | |
| Epoch [ 3/ 5] | d_loss: 1.1910 | g_loss: 1.0185 | |
| Epoch [ 3/ 5] | d_loss: 1.0849 | g_loss: 1.4437 | |
| Epoch [ 3/ 5] | d_loss: 1.1242 | g_loss: 1.0205 | |
| Epoch [ 3/ 5] | d_loss: 1.3903 | g_loss: 1.0416 | |
| Epoch [ 3/ 5] | d_loss: 1.2151 | g_loss: 0.9315 | |
| Epoch [ 3/ 5] | d_loss: 1.0271 | g_loss: 1.2951 | |
| Epoch [ 3/ 5] | d_loss: 1.1600 | g_loss: 1.1991 | |
| Epoch [ 3/ 5] | d_loss: 1.0533 | g_loss: 1.2013 | |
| Epoch [ 3/ 5] | d_loss: 1.2672 | g_loss: 1.3591 | |
| Epoch [ 3/ 5] | d_loss: 1.3330 | g_loss: 1.0235 | |
| Epoch [ 3/ 5] | d_loss: 1.1647 | g_loss: 1.0954 | |
| Epoch [ 3/ 5] | d_loss: 1.2322 | g_loss: 0.9019 | |
| Epoch [ 3/ 5] | d_loss: 1.2066 | g_loss: 0.8712 | |
| Epoch [ 3/ 5] | d_loss: 1.0905 | g_loss: 0.8634 | |
| Epoch [ 3/ 5] | d_loss: 0.9099 | g_loss: 0.9738 | |
| Epoch [ 3/ 5] | d_loss: 1.0855 | g_loss: 1.4691 | |
| Epoch [ 3/ 5] | d_loss: 1.2102 | g_loss: 0.8619 | |
| Epoch [ 3/ 5] | d_loss: 1.1511 | g_loss: 0.8573 | |
| Epoch [ 3/ 5] | d_loss: 1.2717 | g_loss: 1.3579 | |
| Epoch [ 3/ 5] | d_loss: 1.0088 | g_loss: 0.7889 | |
| Epoch [ 4/ 5] | d_loss: 1.0043 | g_loss: 1.1726 | |
| Epoch [ 4/ 5] | d_loss: 1.2037 | g_loss: 1.3505 | |
| Epoch [ 4/ 5] | d_loss: 0.9259 | g_loss: 1.1570 | |
| Epoch [ 4/ 5] | d_loss: 1.0454 | g_loss: 0.8306 | |
| Epoch [ 4/ 5] | d_loss: 1.0177 | g_loss: 0.9485 | |
| Epoch [ 4/ 5] | d_loss: 0.9216 | g_loss: 0.6895 | |
| Epoch [ 4/ 5] | d_loss: 0.9380 | g_loss: 0.7635 | |
| Epoch [ 4/ 5] | d_loss: 1.1709 | g_loss: 0.9106 | |
| Epoch [ 4/ 5] | d_loss: 1.0806 | g_loss: 0.9836 | |
| Epoch [ 4/ 5] | d_loss: 1.2110 | g_loss: 1.3205 | |
| Epoch [ 4/ 5] | d_loss: 0.9064 | g_loss: 1.1868 | |
| Epoch [ 4/ 5] | d_loss: 0.9551 | g_loss: 0.9110 | |
| Epoch [ 4/ 5] | d_loss: 1.2870 | g_loss: 1.2712 | |
| Epoch [ 4/ 5] | d_loss: 0.7791 | g_loss: 1.1272 | |
| Epoch [ 4/ 5] | d_loss: 1.1011 | g_loss: 1.5717 | |
| Epoch [ 4/ 5] | d_loss: 1.2959 | g_loss: 0.6805 | |
| Epoch [ 4/ 5] | d_loss: 1.1898 | g_loss: 1.5466 | |
| Epoch [ 4/ 5] | d_loss: 1.0337 | g_loss: 1.4367 | |
| Epoch [ 4/ 5] | d_loss: 0.6869 | g_loss: 0.9711 | |
| Epoch [ 4/ 5] | d_loss: 1.1038 | g_loss: 1.1109 | |
| Epoch [ 4/ 5] | d_loss: 1.2492 | g_loss: 1.1592 | |
| Epoch [ 4/ 5] | d_loss: 1.3476 | g_loss: 1.5383 | |
| Epoch [ 4/ 5] | d_loss: 1.2524 | g_loss: 1.0883 | |
| Epoch [ 4/ 5] | d_loss: 1.5812 | g_loss: 1.3852 | |
| Epoch [ 4/ 5] | d_loss: 1.1863 | g_loss: 1.3073 | |
| Epoch [ 4/ 5] | d_loss: 1.1562 | g_loss: 0.9736 | |
| Epoch [ 4/ 5] | d_loss: 1.0412 | g_loss: 1.3591 | |
| Epoch [ 4/ 5] | d_loss: 1.1049 | g_loss: 1.5292 | |
| Epoch [ 4/ 5] | d_loss: 0.9585 | g_loss: 1.1879 | |
| Epoch [ 4/ 5] | d_loss: 1.0133 | g_loss: 1.2275 | |
| Epoch [ 4/ 5] | d_loss: 1.0374 | g_loss: 0.8781 | |
| Epoch [ 4/ 5] | d_loss: 1.2393 | g_loss: 1.1092 | |
| Epoch [ 4/ 5] | d_loss: 1.0205 | g_loss: 1.0367 | |
| Epoch [ 4/ 5] | d_loss: 1.3327 | g_loss: 0.7429 | |
| Epoch [ 4/ 5] | d_loss: 0.8824 | g_loss: 0.8279 | |
| Epoch [ 4/ 5] | d_loss: 1.0290 | g_loss: 1.5925 | |
| Epoch [ 5/ 5] | d_loss: 1.5246 | g_loss: 0.6789 | |
| Epoch [ 5/ 5] | d_loss: 1.1006 | g_loss: 0.9605 | |
| Epoch [ 5/ 5] | d_loss: 1.0677 | g_loss: 1.3715 | |
| Epoch [ 5/ 5] | d_loss: 0.8048 | g_loss: 0.9560 | |
| Epoch [ 5/ 5] | d_loss: 0.8705 | g_loss: 1.1387 | |
| Epoch [ 5/ 5] | d_loss: 1.1695 | g_loss: 1.8391 | |
| Epoch [ 5/ 5] | d_loss: 1.2312 | g_loss: 1.2609 | |
| Epoch [ 5/ 5] | d_loss: 1.2900 | g_loss: 1.6904 | |
| Epoch [ 5/ 5] | d_loss: 1.3877 | g_loss: 0.8154 | |
| Epoch [ 5/ 5] | d_loss: 1.0516 | g_loss: 1.5557 | |
| Epoch [ 5/ 5] | d_loss: 0.9956 | g_loss: 1.2300 | |
| Epoch [ 5/ 5] | d_loss: 1.2984 | g_loss: 0.7548 | |
| Epoch [ 5/ 5] | d_loss: 0.9133 | g_loss: 0.8607 | |
| Epoch [ 5/ 5] | d_loss: 0.8460 | g_loss: 0.8990 | |
| Epoch [ 5/ 5] | d_loss: 1.1445 | g_loss: 1.0952 | |
| Epoch [ 5/ 5] | d_loss: 1.0238 | g_loss: 1.0032 | |
| Epoch [ 5/ 5] | d_loss: 1.3588 | g_loss: 1.5098 | |
| Epoch [ 5/ 5] | d_loss: 0.8635 | g_loss: 1.1385 | |
| Epoch [ 5/ 5] | d_loss: 1.4124 | g_loss: 1.2251 | |
| Epoch [ 5/ 5] | d_loss: 0.8011 | g_loss: 1.2054 | |
| Epoch [ 5/ 5] | d_loss: 0.8560 | g_loss: 0.9906 | |
| Epoch [ 5/ 5] | d_loss: 1.3782 | g_loss: 1.4892 | |
| Epoch [ 5/ 5] | d_loss: 1.4063 | g_loss: 1.1352 | |
| Epoch [ 5/ 5] | d_loss: 1.1971 | g_loss: 1.0977 | |
| Epoch [ 5/ 5] | d_loss: 1.7986 | g_loss: 2.4601 | |
| Epoch [ 5/ 5] | d_loss: 1.1665 | g_loss: 1.5017 | |
| Epoch [ 5/ 5] | d_loss: 0.8169 | g_loss: 0.8151 | |
| Epoch [ 5/ 5] | d_loss: 1.0354 | g_loss: 1.0512 | |
| Epoch [ 5/ 5] | d_loss: 1.0037 | g_loss: 1.0001 | |
| Epoch [ 5/ 5] | d_loss: 0.9582 | g_loss: 1.5783 | |
| Epoch [ 5/ 5] | d_loss: 1.1716 | g_loss: 1.5760 | |
| Epoch [ 5/ 5] | d_loss: 0.8769 | g_loss: 1.2590 | |
| Epoch [ 5/ 5] | d_loss: 1.1264 | g_loss: 0.8673 | |
| Epoch [ 5/ 5] | d_loss: 0.8089 | g_loss: 1.2325 | |
| Epoch [ 5/ 5] | d_loss: 1.2114 | g_loss: 1.0653 | |
| Epoch [ 5/ 5] | d_loss: 1.0978 | g_loss: 1.1297 | |
| </pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Training-loss">Training loss<a class="anchor-link" href="#Training-loss">¶</a></h2><p>Plot the training losses for the generator and discriminator, recorded after each epoch.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [22]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">()</span> | |
| <span class="n">losses</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">losses</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">losses</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Discriminator'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">losses</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Generator'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s2">"Training Losses"</span><span class="p">)</span> | |
| <span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt output_prompt">Out[22]:</div> | |
| <div class="output_text output_subarea output_execute_result"> | |
| <pre><matplotlib.legend.Legend at 0x7fbcb36231d0></pre> | |
| </div> | |
| </div> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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Fq87+ibg2wvVeIvFYllUohAO3Q/LrPTNbBT/1Zj64L+WSdd8lYhcLyLXx9u8Hngo9vg/CbxJDQHwHuBfgd3AP8be/7LEdV22b9/OxRdfzOWXX87HP/5xosisb7Fz505+//d//4SP8dnPfpYvfelLc3rPr/zKr8z7eF/84hc5eHDenTCLZXUzshd+eQtMHlnslsyJ2WT13MkMS9yp6qeAT3V57Rbglnm1bolRKpW47777ADh69ChvfvObGRsb48/+7M/YsWMHO3bsOKH9B0HA9ddfP/OGbfz0pz+d9zG/+MUvcskll3DGGWfM+j1hGOK67ryPabGsGKKg9f9lgp25O082bdrEDTfcwKc+9SlUldtuu43f+i0zjeH2229n+/btbN++nSuuuIKJiQkA/vIv/5JLL72Uyy+/nA99yMxle/GLX8yf/MmfcO211/KJT3yCj3zkI3zsYx9LX3vf+97Hi170Ii688ELuuece/u2//becf/75/Kf/9J/StvT1mbXBb7vtNl784hfz+te/nuc85zm85S1vIam++tGPfpTnP//5XHLJJbzrXe9CVbnpppvYuXMnb3nLW9i+fTvVapUf/OAHXHHFFVx66aX87u/+LvW6qUB8zjnn8NGPfpRrrrmG//N//s+pOckWy1InsXh0ea1suSRr9czEbY8eZWhiYUuib+wv8OILNs3pPeeeey5RFHH06NGW5z/2sY/x6U9/mquvvprJyUmKxSLf/e53ufnmm7n77rvp6enh+PHj6fajo6PcfvvtAHzkIx9p2Vc+n+eOO+7gE5/4BK997WvZtWsX69at47zzzuN973sf69evb9n+3nvv5eGHH+aMM87g6quv5ic/+QnXXHMN73nPe/jwh82E6re+9a185zvf4fWvfz2f+tSn+NjHPsaOHTuo1Wq8/e1v5wc/+AHPfvazedvb3sZnPvMZ/uAP/gAwOft33nnnnM6RxbKiSQL+Mgv8VvGfIJ3WM7j66qt5//vfzyc/+UlGR0fxPI9bb72V3/md36GnpweAdevWpdu/8Y1v7Lr/17zmNQBceumlXHzxxWzevJlCocC5557L/v37p2x/5ZVXsmXLFhzHYfv27ezduxeAH/3oR1x11VVceuml/PCHP+Thh6cOtTz66KNs27aNZz/72QBcd9113HHHHbNqp8WyOrGK/5QxV2V+stizZw+u67Jp0yZ2796dPv+hD32I3/zN3+SWW27hBS94Abfeeiuq2jX1sbe3t+sxCoUCAI7jpI+Tv4Ngqq+Y3cZ1XYIgoFar8R/+w39g586dnHXWWXzkIx/pmHs/06I807XTYlmVpIp/5WX1WDowNDTE9ddfz3ve854pAf3JJ5/k0ksv5YMf/CA7duzgl7/8JS972cu48cYbqVQqAC1Wz8kmCfIbNmxgcnKSm266KX2tv78/HYN4znOew969e3niiScA+PKXv8y11157ytppsSw7koAfhYvbjjmyLBX/YlGtVtm+fTu+7+N5Hm9961t5//vfP2W7//W//hc/+tGPcF2Xiy66iFe+8pUUCgXuu+8+duzYQT6f51WvehV/8Rd/cUravWbNGv79v//3XHrppZxzzjk8//nPT197+9vfzvXXX0+pVOKuu+7iC1/4Am94wxsIgoDnP//588oyslhWDcvU41+Sa+7u2LFD2xdi2b17NxdeeOEitcgyHfa7saxaDt4Lj/4LXPRaOO2iRW2KiOxS1VnllFurx2KxWObLMlX8NvBbLBbLfEkMExv4LRaLZZVgFb/FYrGsNpI8/uWV1WMDv8ViscwXm8dvsVgsq4xlWqvHBv45cOTIEd785jdz7rnn8rznPY8XvvCFfPOb31yUttx2220nVJXTYrEsANbjX9moKq973et40YtexJ49e9i1axdf/epXOXDgwEk7ZqeSDAnzCfzT7c9iscwHq/hXND/84Q/J5/MtM1nPPvts3vve9xKGIR/4wAd4/vOfz2WXXcbnPvc5YPoyybt27eLaa6/lec97Hi9/+cs5dOgQMLVM8z/90z9x1VVXccUVV/Drv/7rHDlyhL179/LZz36Wv/7rv2b79u38+Mc/5umnn+alL30pl112GS996UvZt28fYGbmvv/97+clL3kJH/zgB0/xWbNYVjjLVPEvz5INj9+68Cve9J0G5/9615cffvhhnvvc53Z87fOf/zyDg4Pcc8891Ot1rr76al72spcBncskX3XVVbz3ve/lW9/6Fhs3buRrX/saf/qnf8qNN94ItJZpHhkZ4Wc/+xkiwt/+7d/yl3/5l/zVX/0V119/PX19ffzRH/0RAK9+9at529vexnXXXceNN97I7//+73PzzWbN+8cee4xbb73VLp5isSw0y9TjnzHwi8hZwJeA04EIuEFVP9G2zVuARE5O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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h2 id="Generator-samples-from-training">Generator samples from training<a class="anchor-link" href="#Generator-samples-from-training">¶</a></h2><p>View samples of images from the generator, and answer a question about the strengths and weaknesses of your trained models.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [23]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># helper function for viewing a list of passed in sample images</span> | |
| <span class="k">def</span> <span class="nf">view_samples</span><span class="p">(</span><span class="n">epoch</span><span class="p">,</span> <span class="n">samples</span><span class="p">):</span> | |
| <span class="n">fig</span><span class="p">,</span> <span class="n">axes</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">16</span><span class="p">,</span><span class="mi">4</span><span class="p">),</span> <span class="n">nrows</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">ncols</span><span class="o">=</span><span class="mi">8</span><span class="p">,</span> <span class="n">sharey</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">sharex</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> | |
| <span class="k">for</span> <span class="n">ax</span><span class="p">,</span> <span class="n">img</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">axes</span><span class="o">.</span><span class="n">flatten</span><span class="p">(),</span> <span class="n">samples</span><span class="p">[</span><span class="n">epoch</span><span class="p">]):</span> | |
| <span class="n">img</span> <span class="o">=</span> <span class="n">img</span><span class="o">.</span><span class="n">detach</span><span class="p">()</span><span class="o">.</span><span class="n">cpu</span><span class="p">()</span><span class="o">.</span><span class="n">numpy</span><span class="p">()</span> | |
| <span class="n">img</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="n">img</span><span class="p">,</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">0</span><span class="p">))</span> | |
| <span class="n">img</span> <span class="o">=</span> <span class="p">((</span><span class="n">img</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="mi">255</span> <span class="o">/</span> <span class="p">(</span><span class="mi">2</span><span class="p">))</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">uint8</span><span class="p">)</span> | |
| <span class="n">ax</span><span class="o">.</span><span class="n">xaxis</span><span class="o">.</span><span class="n">set_visible</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span> | |
| <span class="n">ax</span><span class="o">.</span><span class="n">yaxis</span><span class="o">.</span><span class="n">set_visible</span><span class="p">(</span><span class="kc">False</span><span class="p">)</span> | |
| <span class="n">im</span> <span class="o">=</span> <span class="n">ax</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">img</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">32</span><span class="p">,</span><span class="mi">32</span><span class="p">,</span><span class="mi">3</span><span class="p">)))</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [24]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Load samples from generator, taken while training</span> | |
| <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s1">'train_samples.pkl'</span><span class="p">,</span> <span class="s1">'rb'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span> | |
| <span class="n">samples</span> <span class="o">=</span> <span class="n">pkl</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [25]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span><span class="n">_</span> <span class="o">=</span> <span class="n">view_samples</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">samples</span><span class="p">)</span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="output_wrapper"> | |
| <div class="output"> | |
| <div class="output_area"> | |
| <div class="prompt"></div> | |
| <div class="output_png output_subarea "> | |
| <img src="data:image/png;base64,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 | |
| " | |
| > | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h3 id="Question:-What-do-you-notice-about-your-generated-samples-and-how-might-you-improve-this-model?">Question: What do you notice about your generated samples and how might you improve this model?<a class="anchor-link" href="#Question:-What-do-you-notice-about-your-generated-samples-and-how-might-you-improve-this-model?">¶</a></h3><p>When you answer this question, consider the following factors:</p> | |
| <ul> | |
| <li>The dataset is biased; it is made of "celebrity" faces that are mostly white</li> | |
| <li>Model size; larger models have the opportunity to learn more features in a data feature space</li> | |
| <li>Optimization strategy; optimizers and number of epochs affect your final result</li> | |
| </ul> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <p><strong>Answer:</strong> (Write your answer in this cell)</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt"> | |
| </div><div class="inner_cell"> | |
| <div class="text_cell_render border-box-sizing rendered_html"> | |
| <h3 id="Submitting-This-Project">Submitting This Project<a class="anchor-link" href="#Submitting-This-Project">¶</a></h3><p>When submitting this project, make sure to run all the cells before saving the notebook. Save the notebook file as "dlnd_face_generation.ipynb" and save it as a HTML file under "File" -> "Download as". Include the "problem_unittests.py" files in your submission.</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="cell border-box-sizing code_cell rendered"> | |
| <div class="input"> | |
| <div class="prompt input_prompt">In [ ]:</div> | |
| <div class="inner_cell"> | |
| <div class="input_area"> | |
| <div class=" highlight hl-ipython3"><pre><span></span> | |
| </pre></div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </body> | |
| </html> |